18
9

Я вот на данный момент использую системный perl на debian stable, где половина модулей установлена из репозитория debian, половина через CPAN. Пришло понимание, что это полная свалка, которую сопровождать сильно проблематично. Особенно при новом релизе debian и обновлении мажорной версии perl придётся искать какие модули надо заново установить через CPAN. Плюс к этому в дистрибутиве версия perl отсаёт от текущей на несколько лет, что тоже иногда доставляет неудобства.

А какой метод сопровождения perl и модулей вы используете у себя или считаете оптимальным? Имеют ли право на жизнь в продакшене штуки типа perlbrew?

  • vti
    2015-02-03 13:36 #

    Обычно системный перл оставляю в стороне, соответственно он обновляется вместе с системой. Для проекта использую perlbrew/plenv + ставлю зависимости рядом в perl5 или использую carton. Таким образом зависимости не пересекаются даже между проектами.

    или CTRL+Enter формат
  • thecrux
    2015-02-03 13:50 #

    Как правило, если у проекта есть разделение труда: программисты и администраторы, то самосбор исключён. Вот, например, статья как упаковывать Perl-модули в deb и потом строить репозитории со своими пакетами. Перед обновлением на новую версию дистрибутива сначала перепаковывают репозиторий, потом обновляют.

    или CTRL+Enter формат
  • Sergey
    2015-02-04 10:19 #

    FreeBSD + системный перл. 99.9% когда-либо понадобившихся мне модулей были в портах. Всегда доступны последние версии 3х последних веток перла (5.16, 5.18, 5.20 на данный момент) - все средствами системы пакетов/портов. FreeBSD - рай для перл-разработчика :) И не только только перл и не только разработчика ;)

    2
    или CTRL+Enter формат
    • hurricupSergey
      2015-02-04 18:15 #

      Согласен с коллегой. Волею судеб работаю в двух системах: (FreeBSD + perl5.20.1) и (CentOS6 + Perl5.10 дефолтная репа)

      FreeBSD дает оператинвное обновление версий, при этом выбор из нескольких, и почти все модули собираются из портов. А те, которых там нет, без проблем ставятся через CPAN одной командой. Из минусов - время на сборку. Но это даже прикольно, ибо тачка одна.

      CentOS дает, конечно, быструю установку без компиляции, но как только вы хотите выйти за доступный в юме минимум - начинаются танцы с бубном - это не встанет, это не работает со старым перлом, этому нжны исходники или дев версии, вобщем - сложно. Ну и набор модулей в репе ограничен, версии старые и выбора нет - перл только один. Можно подключить доп. репу, там есть 5.16, который ставится отдельно и как работает с остальным - неизвестно. Будем переходить на 7. Perlbrew начал осваивать недавно, пока впечатление, что это хорошо для тестов, но как продакшен решение - ниочень. Но это чисто впечатление.

      или CTRL+Enter формат
  • saintserge
    2015-02-04 10:43 #

    perlbrew only

  • Serg
    2015-02-04 15:35 #

    Хочу перейти на plenv но мешает mod_perl. А до перехода с него на psgi не хватает времени. приходится страдать :)

    или CTRL+Enter формат
  • Dmitry
    2015-02-04 16:05 #

    При новом релизе дистрибутива, когда мажорноая версия растёт, некоторые модули всё равно придётся собирать заново даже при использовании perlbrew.

    или CTRL+Enter формат
    • OlegDmitry
      2015-02-04 16:24 #

      Это почему? Ведь системный perl и perlbrew никак не связаны.

      или CTRL+Enter формат
      • DmitryOleg
        2015-02-04 16:39 #

        Не в перле же дело, а в системных библиотеках. Некоторые XS модули могут быть завязаны на системных библиотеках, и при обновлении библиотеки вместе с системой, они[модули] переставали работать. Конечно можно посмотреть с другой стороны, и тогда дело будет в перле. Но сути это не меняет :)

        ЗЫ: Сам сталкивался с ImageMagick в системе и Image::Magick в perlbrew. В итоге поставил ImageMagic вместе с perlbrew :) Если что, то решение здесь

        или CTRL+Enter формат
  • vti
    2015-02-08 08:08 #

    Вот интересная и полезная статья (English) про деплоймент с plenv/carton.

    1
    или CTRL+Enter формат
Чтобы ответить, залогиньтесь или зарегистрируйтесь.
  • @user
  • _italic_

    italic

  • **bold**

    bold

  • [PP](http://pragmaticperl.com)

    PP

  • <http://pragmaticperl.com>

    http://pragmaticperl.com

  • module:Plack

    Plack

  • release:URI

    URI

  • author:VTI

    VTI

  • `my $foo = 'bar'`
  • ```
    my $multi;
    $line;
    ```