Как мне установить более одной версии Perl?
Я хочу установить, из источника, версии Perl 5.005
, v5.6
, v5.8
, v5.10
Прямо сейчас у меня установлена версия v5.10.0.
/ Opt / Perl / бен / Опт / Perl / HTML / Opt / Perl / Библиотека / Опт / Perl / человек /opt/perl/lib/5.10.0 / Opt / Perl / Библиотека / site_perl /opt/perl/lib/site_perl/5.10.0
Будут ли у меня проблемы, если я установлю их все в /opt/perl
?
Или я должен разделить их на свои, специфичные для версии, каталоги? подобно /opt/perl-5.10.0/
6 ответов
Я полностью устанавливаю все свои perl в их собственную директорию, чтобы они ничего не делили с любым другим perl. Чтобы сделать это, вы просто говорите Configure
скрипт где все установить. Мне нравится / usr / local / perls:
% ./Configure -des -Dprefix=/usr/local/perls/perl-5.x.y
Когда я делаю это для нескольких версий, я получаю каталог с отдельными установками.
% ls -1 / usr / local / perls жемчужно-5.10.0 жемчужно-5.10.1 Perl-5.6.2 Perl-5.8.8
Все они имеют свои собственные каталоги bin и lib:
% ls -1 /usr/local/perls/perl-5.10.0 бункер Lib человек
Большинство распространенных инструментов определят, что делать, если вы вызываете их с разными perl:
/usr/local/perls/perl-5.10.0/bin/perl /usr/local/bin/cpan
Тем не менее, вы можете взять Perl, который вы хотите использовать чаще всего, и поставить его первым на своем пути. Я просто делаю символическую ссылку на / usr / local / bin / perl, но вы также можете добавить каталоги в PATH.
Perlbrew делает много за вас и перемещает символические ссылки, чтобы сделать одну из них perl по умолчанию.
Разделите их на свои собственные каталоги, зависящие от версии, а затем символическую ссылку perl
до версии, которую вы хотите использовать в то время. Вот как работает несколько установленных JRE /JDK, поэтому, похоже, это имеет смысл и для установок 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
выполняет свою работу, создавая символические ссылки и манипулируя ими, и способен обнаруживать конфликты.
Если вы используете серверы CentOS/RHEL, вы можете использовать относительно новую систему сбора ПО для установки других версий Perl в дополнение к "системному Perl" (который является древним 5.10 на EL6 и 5.8 на EL5).
Существуют общедоступные репозитории для основного набора пакетов Perl 5.16:
http://mirror.centos.org/centos/6/SCL/x86_64/
Сообщество работает над публикацией большего подмножества CPAN в виде устанавливаемых пакетов и публикаций коллекций для других версий Perl.
Здесь мы работаем с несколькими версиями Perl, и отдельные каталоги - это путь. Мы настроили небольшую команду оболочки, которая исправляет символические ссылки и переменные окружения, чтобы вы могли легко использовать нужный вам Perl.
Если вы беспокоитесь о том, чтобы забыть, какой Perl используется, вы можете использовать такой скрипт, чтобы добавить номер версии в приглашение оболочки.
Хотя установка в разные каталоги обычно является лучшим способом, вы можете использовать переключатель Configure -Dversiononly
использовать один каталог и включать триплет версии во все пути (кроме файлов man, которые вы, вероятно, не захотите устанавливать вообще), предоставляя, например, perl5.10.0
, cpan5.10.0
, perldoc5.10.0
, так далее.