Как установить более одной версии Perl?

Я хочу установить, из источника, версии Perl 5.005, v5.6, v5.8, v5.10

прямо сейчас у меня есть ' v5.10.0 ' установлен.

/opt/perl/bin
/opt/perl/html
/opt/perl/lib
/opt/perl/man
/opt/perl/lib/5.10.0
/opt/perl/lib/site_perl
/opt/perl/lib/site_perl/5.10.0

будут ли у меня проблемы если я установлю их в /opt/perl?

или я должен разделить их на свои собственные, конкретные версии, каталоги? Как /opt/perl-5.10.0/

6 ответов


Я устанавливаю все мои perls полностью в свой собственный каталог, чтобы они ничего не делились с любым другим perl. Чтобы сделать это, вы просто скажите Configure скрипт где, установить все. Мне нравится / usr / local / perls:

 % ./Configure -des -Dprefix=/usr/local/perls/perl-5.x.y

когда я делаю это для нескольких версий, я получаю каталог с отдельными установками.

% ls -1 /usr/local/perls
perl-5.10.0
perl-5.10.1
perl-5.6.2
perl-5.8.8

все они имеют свои собственные bin и lib:

% ls -1 /usr/local/perls/perl-5.10.0
bin
lib
man

большинство общих инструментов будет выяснить что делать, если вы называете их разными Перлз:

/usr/local/perls/perl-5.10.0/bin/perl /usr/local/bin/cpan

однако вы можете взять perl, который хотите использовать больше всего, и поставить его первым на своем пути. Я просто делаю символическую ссылку на /usr/local/bin / perl, но вы также можете добавлять каталоги в PATH.

на perlbrew делает много этого для вас и перемещает символические ссылки, чтобы сделать один из них perl по умолчанию.


разделить их на свои собственные версии конкретных каталогов, а затем symlink perl для версии, которую вы хотите использовать в данный момент. Вот как работает несколько установленных JREs/JDKs, поэтому, похоже, имеет смысл и для установок Perl.


Если вы используете серверы CentOS/RHEL, вы можете использовать относительно новую систему сбора программного обеспечения для установки других версий Perl в дополнение к "system Perl" (который является древним 5.10 на EL6 и 5.8 на EL5).

существуют общедоступные репозитории для основного набора пакетов Perl 5.16:

http://mirror.centos.org/centos/6/SCL/x86_64/

сообщество работает над публикацией большего подмножества CPAN в качестве устанавливаемых пакетов и публикация коллекций и для других версий Perl.


вы действительно должны установить разные версии в разные каталоги.

когда я хочу попробовать несколько версий пакета, который не существует в виде пакетов для моего любимого дистрибутива Linux, я использую stow или xstow как менеджер пакетов бедняка:

  • создать каталог /usr/local/stow
  • установить отдельные пакеты в /usr/local/stow/$PACKAGE-$VERSION
  • карта "пакет" в /usr/local: stow -d /usr/local/stow $PACKAGE-$VERSION
  • отключить пакет "": stow -d /usr/local/stow -D $PACKAGE-$VERSION

stow выполняет свою работу, создавая и манипулируя символическими ссылками, и может обнаруживать конфликты.


мы разрабатываем с несколькими версиями Perl здесь на работе,и отдельные каталоги-это путь. Мы создали небольшую команду оболочки, которая исправляет символические ссылки и переменные среды, чтобы вы могли легко использовать perl.

Если вы беспокоитесь о том, чтобы забыть, какой perl используется, у вас может быть такой скрипт добавить номер версии в приглашение оболочки.


при установке в разные каталоги обычно лучший способ пойти, вы можете использовать переключатель Configure -Dversiononly использовать один каталог и включить триплет версии во все пути (кроме файлов man, которые вы, вероятно, захотите избежать установки вообще), давая вам, например,perl5.10.0, cpan5.10.0, perldoc5.10.0, etc.