Как я могу установить более новый Perl, не повредив установку системы?

Я видел, как многие люди упоминали о некоторых интересных новых функциях Perl> = 5.12, но я предпочитаю Linux Ubuntu только с 5.10.1.

Я не боюсь PPA, и я знаю, как гуглить (если кто-то что-то не найдет, я буду стесняться). Я не могу найти кого-нибудь, кто предоставляет Perl PPA; Я думал, что на все есть PPA!

Еще я опасаюсь, что, поскольку операционные системы на базе Linux используют perl как часть своих пакетов и других систем, я не обязательно хочу рисковать самостоятельно компилировать / устанавливать его, опасаясь сломать мою ОС.

Может ли кто-нибудь дать мне несколько советов о самом простом, но при этом самом безопасном способе обновления / параллельной установки новейших версий Perl?

  • Могу ли я указать несколько двоичных файлов таким образом, чтобы они не влияли на системные утилиты?
  • Как работают модули, если установлено несколько версий Perl?

person Joel Berger    schedule 23.10.2010    source источник
comment
приемлемо с редактированием @ether. Связано с stackoverflow.com/questions/398221/   -  person Jeff Atwood    schedule 24.10.2010
comment
См. Также stackoverflow.com/questions/1289564/   -  person Ether    schedule 24.10.2010


Ответы (3)


Я бы порекомендовал взглянуть на отличный perlbrew, доступный на CPAN , который позволяет локально устанавливать и управлять несколькими версиями Perl.

person tjmw    schedule 23.10.2010
comment
Я видел это раньше, но не пробовал, опасаясь испортить системный Perl. Когда используется perlbrew, меняет ли он системную версию perl? Как мне использовать мою более позднюю версию, но при этом позволить системе использовать 5.10.1? - person Joel Berger; 24.10.2010
comment
Описание perlbrew: perlbrew - это программа для автоматизации сборки и установки perl в HOME пользователей ... - person mfontani; 24.10.2010
comment
Прочтите документацию по perlbrew - я думаю, что там есть ответы на ваши вопросы. Короче говоря, perlbrew не будет мешать вашей системе Perl. Каждый раз, когда вы хотите прекратить использование Perlbrew и вернуться к использованию системного Perl, вы можете сделать это (с отключенным perlbrew). Конечно, даже при включенном perlbrew вы всегда можете вызвать системный Perl, указав его полный путь (например, / usr / bin / perl). - person tjmw; 24.10.2010
comment
После некоторого чтения это кажется самым безопасным, но при этом простым. Попробовав прямо сейчас, вы узнаете. - person Joel Berger; 24.10.2010
comment
Кажется, работает: $ perl -v - ›Это perl 5, версия 13, subversion 3 (v5.13.3). $ sudo perl -v - ›Это Perl, v5.10.1 (*). - person Joel Berger; 24.10.2010
comment
Итак, наслаждайтесь новым Perl! На следующем шаге используйте App :: cpanminus для установки модулей;) - person mfontani; 24.10.2010

Похоже, вы пытаетесь заменить dist perl, вы не хотите этого делать. Вы хотите установить отдельный Perl. Из-за всего багажа, связанного с perls, я обычно устанавливаю их как отдельного пользователя в их доме, а затем экспортирую как / opt или как-то иначе.

person hpavc    schedule 23.10.2010

Что я делаю, так это компилирую свой собственный Perl и устанавливаю его в /opt/perl. Затем я добавляю export PATH=/opt/perl/bin:$PATH к своему .bashrc. Таким образом, системный Perl остается нетронутым, и у меня есть последняя версия Perl, с которой можно поиграть. :-)

person Alan Haggai Alavi    schedule 23.10.2010
comment
Вы не должны использовать /opt, по крайней мере, в OSX, так как это базовый каталог, используемый системой распространения пакетов macports . - person Ether; 24.10.2010
comment
@Ether: / usr / local, вероятно, лучше, да, но / opt, безусловно, разрешен. Теоретически (pathname.com/fhs/pub/) macports, и т. д. не должны перезаписывать то, что пользователи помещают в / opt - person ysth; 24.10.2010
comment
Что касается /opt и /usr/local, см .: unix.stackexchange.com/a/11552/26227 - person Dave Jarvis; 25.03.2013