<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote">12 февраля 2014 г., 16:35 пользователь Ali Ramazanov <span dir="ltr"><<a href="mailto:netspamer@gmail.com" target="_blank">netspamer@gmail.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><font><span style="font-family:arial,helvetica,sans-serif">Очень понравился Carton. Пока это дело у нас тестируется. Пишем cpanfile в виде:<br>
requires 'DBD::Pg', '== 3.0.0';<br></span></font></div>
<font><span style="font-family:arial,helvetica,sans-serif">...<br>Другой разработчик выполняет carton install, подтягивая все нужные версии модулей, но по зависимостям с течением времени всё равно могут быть различия (собственное это видно в cpanfile.snapshot).<br>

</span></font></div><div><font><span style="font-family:arial,helvetica,sans-serif">cpanfile.snapshot комитит последний, кто изменил cpanfile.<br></span></font></div><div><font><span style="font-family:arial,helvetica,sans-serif">В бою соответственно делается: <code> carton install --deployment (используеся последний </code></span></font><font><span style="font-family:arial,helvetica,sans-serif"><code><font><span style="font-family:arial,helvetica,sans-serif">закомиченный cpanfile.snapshot)</span></font><br>

<br></code></span></font></div><div><code>Было замечено, что иногда carton может зафейлится, повторный запуск устанавливает всё до конца)<br></code><code><font><span style="font-family:arial,helvetica,sans-serif">Мне этот вариант больше нравится чем остальные своей простотой. Плюс совсем не нужно взаимодействовать с админами. </span></font></code>У нас проект на каталисте, более 200 модулей используется, основная часть ставится из них по зависимостям.<br>

</div></div><div class="gmail_extra"><br></div></blockquote><div><br></div><div>Тоже неплохо. Но вообще я вижу преимущества пакетов в том, что:</div><div> - в них можно прописать зависимости - нужные пакеты системы установятся автоматически</div>
<div> - их не нужно каждый раз заново компилировать - повторное развертывание системы (например, если хотите перед тестированием на CI-машине каждый раз устанавливать все с нуля) ускоряется в десятки раз.</div></div><div class="gmail_extra">
<br></div>Основное преимущество Carton или cpanm + cpanfile по сравнению с пакетами в том, что их не надо готовить (не нужно упаковывать, прописывать зависимости, создавать репозиторий, заливать туда и т.д.) - просто прописать нужные модули - и все готово к работе.</div>
<div class="gmail_extra"><br></div><div class="gmail_extra">Кстати, может кто-то поделится ссылками на документацию к тому, как правильно готовить пакеты для Debian из CPAN-модулей? Или может поделится уже готовыми наработками? ;)</div>
<div class="gmail_extra"><div><br></div>-- <br>Best regards,<br>Ilya Chesnokov
</div></div>