
Я обнаружил, что моя OSX 10.10 поставляется с perl 5.16 и 5.18. По умолчанию, когда я запускаю perl, я использую perl 5.18. Есть ли способ запустить perl 5.16, когда я запускаю команду perl?
admins-Mac-mini:~ bufferoverflow76$ ls -l /usr/bin/perl*
-rwxr-xr-x 1 root wheel 58416 Sep 10 10:06 /usr/bin/perl
-rwxr-xr-x 1 root wheel 35600 Sep 10 10:06 /usr/bin/perl5.16
-rwxr-xr-x 1 root wheel 35600 Sep 10 10:06 /usr/bin/perl5.18
admins-Mac-mini:~ bufferoverflow76$ perl -version
This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level
(with 2 registered patches, see perl -V for mor
решение1
Это можно сделать с помощью одной из следующих команд:
defaults write com.apple.versioner.perl Version -string 5.16
или
export VERSIONER_PERL_VERSION=5.16
Эти настройки не являются общесистемными и влияют только на настройки пользователя.
Источники:http://krypted.com/mac-os-x/perl-control/иhttps://gist.github.com/crankycoder/1389144
решение2
Если вы хотите избежать путаницы с базовой системой, вы можете добавить псевдоним к вашей среде. Например, в вашем ~/.bashrc
:
alias perl="/usr/bin/perl5.16"
Или добавьте символическую ссылку /usr/bin/perl5.16
в ваш $PATH
, что может быть предпочтительнее. Например
ln -s /usr/bin/perl5.16 ~/bin/perl
Затем в вашем файле ~/.bashrc
добавьте:
export PATH=~/bin:$PATH
Однако это не будет касаться скриптов, в которых строка shebang указывает непосредственно на /usr/bin/perl
.
Для более сложного и удобного управления несколькими установками Perl рассмотрите возможность использованияPerlbrew.