Самый простой метод, который я нашел до сих пор, это сказать
wget -O- http://cpanmin.us | perl - -l ~/perl5 App::cpanminus local::lib
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile
Предполагается, что ваш профиль называется .profile
, вам может потребоваться изменить его на .bash_profile
, .bashrc
и т. Д. После этого вы можете установить модули, сказав
cpanm Module::Name
и просто используйте их так же, как если бы они были установлены в корневых каталогах.
Ниже приводится краткое объяснение того, что делают вышеприведенные команды.
wget -O- http://cpanmin.us
извлекает последнюю версию cpanm
и печатает ее в STDOUT
, которая затем передается в perl - -l ~/perl5 App::cpanminus local::lib
. Первый -
указывает perl
ожидать, что программа войдет в STDIN
, это заставляет perl
запускать версию cpanm
, которую мы только что загрузили. perl
передает остальные аргументы cpanm
. Аргумент -l ~/perl5
указывает cpanm
, где устанавливать модули Perl, а два других аргумента - два устанавливаемых модуля. [App::cpanmins
] 1 - это пакет, который устанавливает cpanm
. local::lib
- вспомогательный модуль, который управляет переменными среды, необходимыми для запуска модулей в локальном каталоге.
После установки этих модулей мы запускаем
eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`
для установки переменных среды, необходимых для использования локальных модулей, а затем
echo 'eval `perl -I ~/perl5/lib/perl5 -Mlocal::lib`' >> ~/.profile
, чтобы мы могли использовать их при следующем входе в систему.
echo 'export MANPATH=$HOME/perl5/man:$MANPATH' >> ~/.profile
, мы надеемся, заставит man найти страницы man для ваших локальных модулей.