Perl问题与local :: lib

时间:2013-07-29 09:14:31

标签: perl perl-module

我正在尝试使用local::lib,因为我没有系统权限,我已经下载了一个本地库并使用了bootstrap技术。

perl Makefile.PL --bootstrap
make test && make install
echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc

在此之后我尝试下载Module并将其存储在/home/perl5/man/man3

但是当我运行脚本时,我得到一个错误,它似乎采取了旧路径。当我在我的系统上运行相同的命令时,它确实需要本地库并且脚本正确运行。

Can't locate Net/Patricia.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 nettest.pl line 2.
BEGIN failed--compilation aborted at nettest.pl line 2.
-bash-3.2$ 

2 个答案:

答案 0 :(得分:0)

您是否在脚本开头使用了这个?

use local::lib;

或者,如果安装在其他位置,例如:

use local::lib '~/foo';

答案 1 :(得分:0)

在您的脚本中,您也可以在不使用local :: lib的情况下引用所需模块的位置。这将简化调试的情况,但也可以是一个永久的解决方案。只需将其添加到脚本的顶部:

# Path to directory that contains the 'Net' folder.
use lib '/path/to/my/modules';