Как установить более одной версии 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.