Ошибки установки модуля при попытке использовать local::lib и CPAN
Я пытаюсь использовать local::lib
поскольку у меня нет прав администратора в системе, и я хочу скачать и установить локальную библиотеку. Я побежал следующим:
perl Makefile.PL --bootstrap
make test && make install
echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc
После этого я попытался загрузить модуль через cpan, запустив perl -MCPAN -e shell install netAddr::IP
но когда я запускаю свою программу, она выдает ошибку:
Can't locate NetAddr/IP.pm in @INC (@INC contains: /usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at agha.pl line 8.
BEGIN failed--compilation aborted at agha.pl line 8.
Я понял, что модуль не установлен... Итак, я снова попытался пройти через CPAN, но теперь выдает ошибку (это в Linux):
-bash-3.2$ perl -MCPAN -e shell
There seems to be running another CPAN process (pid 15611). Contacting...
Other job is running.
You may want to kill it and delete the lockfile, maybe. On UNIX try:
kill 15611
rm /homes/ar312/.cpan/.lock
2 ответа
Из локальной документации::lib:
После написания файла конфигурации оболочки обязательно перечитайте его, чтобы получить измененные настройки в среде вашей текущей оболочки.
Вы забыли это сделать.
Если серьезно, сэкономьте массу времени и усилий, установив http://perlbrew.pl/.
perlbrew - это инструмент для управления несколькими установками perl в вашем каталоге $HOME. Они полностью изолированные вселенные Perl. Этот подход имеет много преимуществ:
- Больше не нужно запускать sudo для установки модулей CPAN.
- Попробуйте ежемесячно выпущенные новые perls.
- Изучите новые возможности языка.
- Протестируйте свой производственный код на разных версиях Perl.
- Оставьте вендор Perl (тот, который поставляется с ОС) в покое