我正在尝试使用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
来自local::lib文档:
编写完shell配置文件后,一定要重新阅读它,以便将更改后的设置放入当前shell的环境中。
你忘了这么做。
说真的,安装perlbrew可以节省大量时间和麻烦。
perlbrew是一个管理$HOME目录中多个perl安装的工具。它们是完全孤立的perl宇宙。这种方法有很多好处:
- 不再需要运行sudo来安装CPAN模块
- 试试每月发布的新perl
- 学习新的语言功能
- 针对不同的perl版本测试您的生产代码
- 不要管供应商perl(操作系统附带的那个)