ФорумПрограммированиеБольше языковPerl → FAQ: Использование нескольких версий Perl на одной системе, не ломая систему

FAQ: Использование нескольких версий Perl на одной системе, не ломая систему

  • Ivan

    Сообщения: ? Репутация: N Группа: Адекваты

    Spritz 23 августа 2011 г. 12:37

    Речь пойдет про Linux (Debian), на Windows perl в систему не встроен и поэтому так изворачиваться не приходится.
    Часто обновление Perl на более новую версию без жертв - практически невыполнимая задача.
    Возможно вам повезет и вы сможете обновить perl из experimental ветки:
    echo "deb http://mirror.yandex.ru/debian/ experimental main contrib non-free" >> /etc/apt/sources.list
    apt-get update
    apt-cache policy perl # проверка
    apt-get -t experimental install perl

    Существует более рациональное решение - Perl Environment Manager "perlbrew", сейчас я покажу как его использовать.
    Первым делом вам необходимо "исцелить" системный Perl от всех глюков вызовом команды:
    apt-get install perl –reinstall

    Далее необходимо пропатчить CPAN:
    cpan
    # далее вводим команды в cpan
    install YAML
    install CPAN
    reload cpan

    Переходим к установке perlbrew, установка нудная с периодическими кликами enter и идёт ~30 минут
    Можете установить используя CPAN Minus, но тогда вам нужно перед этим установить еще и его…
    Если вы решили продолжить установку прямо в cpan, то пишите:
    install App::perlbrew

    И готовьтесь клацать по кнопке Enter.
    Если же используя CPAN Minus - выйдете из CPAN (q) и введите команду:
    cpanm App::perlbrew


    После того как установка perlbrew завершена - если вы еще в cpan выйдете из неё (q). Теперь наша задача инициализировать perlbrew и запросить установку perl 5.14.1:
    perlbrew init
    perlbrew install perl-5.14.1


    Предупреждаю - операция ну очень долгая, так как perlbrew сначала выкачает perl и все его расширения и окружения, а потом оттестирует их, отконфигурирует, соберет и наконец установит. Для perl-5.14.1 длительность полной установки может занять около 2х часов (зависит от мощности вашего сервера). Радует лишь то, что perlbrew сделает всё на полном автоматизме, не нанеся вреда системе.

    Если вы выполняете установку по SSH откройте ещё одно окно клиента (если же на локалхосте то просто откройте второй терминал) и выполните команду:
    tail -f ~/perl5/perlbrew/build.log

    Теперь вы можете наблюдать происходящие процессы сборки и тестирования.

    Делаем короткие ссылки для вызова после установки:
    ln -s ~/perl5/perlbrew/perls/perl-5.14.1/bin/perl /usr/bin/xperl
    ln -s ~/perl5/perlbrew/perls/perl-5.14.1/bin/cpan /usr/bin/xcpan


    Проверяем:
    xperl -v | grep version


    Официальный сайт разработчика:
    http://www.perlbrew.pl/

    Там же описаны другие варианты запуска/установки/свитчинга, я привел лишь свой проверенный
  • phpdude

    Сообщения: 26617 Репутация: N Группа: в ухо

    Spritz 23 августа 2011 г. 12:58, спустя 20 минут 2 секунды

    It's cool bro! Amazing!
    Сапожник без сапог
  • Frozzeg

    Сообщения: 5642 Репутация: N Группа: Джедаи

    Spritz 23 августа 2011 г. 13:04, спустя 6 минут 58 секунд

    классно, внатуре классно! умеете, могете просто!
    You can be anything you want to be. Just turn yourself into anything you think that you could ever be.
  • kostyl

    Сообщения: 5201 Репутация: N Группа: Джедаи

    Spritz 11 октября 2014 г. 9:43, спустя 1144 дня 20 часов 38 минут

    чё это за тема у меня в непрочитанных появилась ?

    {+++79+++}
    бля это не туда написал
  • vasa_c

    Сообщения: 3127 Репутация: N Группа: в ухо

    Spritz 12 октября 2014 г. 0:00, спустя 14 часов 16 минут 54 секунды

    чё это за тема у меня в непрочитанных появилась ?

    а, это всё kostyl…
  • adw0rd

    Сообщения: 22902 Репутация: N Группа: в ухо

    Spritz 12 октября 2014 г. 4:51, спустя 4 часа 51 минуту 6 секунд

    )))) +1

    adw/0
  • Ivan.

    Сообщения: 494 Репутация: N Группа: Адекваты

    Spritz 26 октября 2014 г. 13:05, спустя 14 дней 8 часов 14 минут

    Ностальгия по перлодрочерству, эх

    {+++33+++}
    Тогда я еще не знал питон

Пожалуйста, авторизуйтесь, чтобы написать комментарий!