我正在尝试使用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$
答案 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';