我有一个名为 make_html.pl 的 perl 文件名,它在名为 API::PDF2 的模块上运行(关联)我下载并安装了它,我认为我设置了错误的路径。我的@INC 有值
Built under linux
Compiled at Feb 4 2014 22:52:09
%ENV:
PERL5LIB="/home/lib-11//Downloads/mirdeep2/lib/PDF:/home/lib-11//Downloads/mirdeep2/lib/PDF"
@INC:
/home/lib-11//Downloads/mirdeep2/lib/PDF
/home/lib-11//Downloads/mirdeep2/lib/PDF
/etc/perl
/usr/local/lib/perl/5.14.2
/usr/local/share/perl/5.14.2
/usr/lib/perl5
/usr/share/perl5
/usr/lib/perl/5.14
/usr/share/perl/5.14
/usr/local/lib/site_perl
.
当我运行 make_html.pl 时,我收到的错误是
Can't locate PDF/API2.pm in @INC (@INC contains: /home/lib-11//Downloads/mirdeep2/lib/PDF /home/lib-11//Downloads/mirdeep2/lib/PDF /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /home/lib-11/Downloads/mirdeep2/make_html.pl line 9.
BEGIN failed--compilation aborted at /home/lib-11/Downloads/mirdeep2/make_html.pl line 9
我如何删除所有重复的路径。我知道我在哪里安装了模块,但我不确定我需要将路径扩展到模块的哪个部分。主模块文件夹内有 3 - 4 个文件夹。我只是 Linux 的初学者,所以请使用简单的术语。我使用 Ubuntu 12.04LTS。
编辑
我刚刚注意到路径中有一个错误,我在路径中的 lib-11 和 Downloads 之间插入了两个正斜杠。但是我现在该如何纠正这个错误呢?
答案1
由于该模块被称为 PDF::API2,PDF 将是 Perl 在 @INC 包含的目录之一下搜索的目录。
换句话说,考虑到您提供的信息,如果您/home/lib-11/Downloads/mirdeep2/lib/PDF
的@INC 中有,它将搜索该目录下的 PDF 目录(可能还有 PDF.pm 模块文件)。
您必须PDF
从路径中删除该部分,它应该找到您的库:
/home/lib-11/Downloads/mirdeep2/lib/