2013-07-13 116 views
-1

我想使用local::lib,因为我没有系统管理权限,我想下载并安装本地库。我跑了以下内容:尝试使用local :: lib和CPAN时的模块安装错误

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 
+0

这并不意味着模块没有安装。这仅表示您的脚本无法找到它。你如何运行你的脚本。你修改脚本,以便它使用loacal :: lib吗? – innaM

+0

我应该做些什么改变。我目前使用 – user2536319

+0

#!/ usr/local/bin/perl – user2536319

回答

1

local::lib documentation

After writing your shell configuration file, be sure to re-read it to get the changed settings into your current shell's environment.

你忘了这样做。

0

严格来说,通过安装perlbrew可以节省大量时间和麻烦。

perlbrew is a tool to manage multiple perl installations in your $HOME directory. They are completely isolated perl universes. This approach has many benefits:

  • 没有必要运行sudo来安装CPAN模块,任何更多。
  • 尝试每月发布的新perls。
  • 学习新的语言功能。
  • 根据不同的Perl版本测试您的产品代码。
  • 离开供应商的Perl(附带OS一)单独
+0

尽管它没有直接回答OP的问题,但这是一个绝对值得考虑的选项。 – Randall