无法在@INC中找到Spreadsheet / ParseExcel.pm,虽然它似乎已安装

时间:2014-04-28 07:55:37

标签: linux perl cpan cpanm

Can't locate Spreadsheet/ParseExcel.pm in @INC (@INC contains: /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 .)

虽然安装了它:

% perl -e'use CPAN; install "Spreadsheet:WriteExcel"'

Going to read '/home/aspect_mkn8rd/.cpan/Metadata'
  Database was generated on Sun, 27 Apr 2014 09:41:02 GMT
Spreadsheet::WriteExcel is up to date (2.40).

它所在的位置,是吗?

% ls -la /usr/local/lib/perl/5.14.2/auto/Spreadsheet/WriteExcel

total 12
drwxrwxr-x 2 root root 4096 апр.  28 13:11 .
drwxrwxr-x 3 root root 4096 апр.  28 13:11 ..
-rw-rw-r-- 1 root root 2519 апр.  28 13:11 .packlist


% cat /usr/local/lib/perl/5.14.2/auto/Spreadsheet/WriteExcel/.packlist 

/usr/local/bin/chartex
/usr/local/man/man1/chartex.1p
/usr/local/man/man3/Spreadsheet::WriteExcel.3pm
/usr/local/man/man3/Spreadsheet::WriteExcel::BIFFwriter.3pm
<..>
/usr/local/man/man3/Spreadsheet::WriteExcel::Workbook.3pm
/usr/local/man/man3/Spreadsheet::WriteExcel::Worksheet.3pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel.pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/BIFFwriter.pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/Big.pm
<..>
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/Workbook.pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/Worksheet.pm

% perldoc -l Spreadsheet::WriteExcel   

/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel.pm

为什么?我该怎么办?

2 个答案:

答案 0 :(得分:6)

Spreadsheet::ParseExcelSpreadsheet::WriteExcel是不同的模块。

你也安装了前者吗?

如果没有,请执行以下操作:

perl -e'use CPAN; install "Spreadsheet::ParseExcel"'

答案 1 :(得分:-1)

有两种方法可以实现相同的目的:

  1. 使用lib '/path/to/directory'存储模块的地方

  2. perl -I /path/to/directory test.pl,其中使用命令行选项-I

  3. 包含模块

有关更多信息,请参阅 https://perlmaven.com/how-to-change-inc-to-find-perl-modules-in-non-standard-locations

Voilá,给您带来快乐的编码