[英]Can't locate Spreadsheet/ParseExcel.pm in @INC though it's seems to be installed
[英]Why do I get “Can't locate Sub/Identify.pm in @INC” when I use the DateTime module even though I installed the perl-DateTime RPM?
我试图在CentOS中使用模块DateTime
所以我安装它像这样:
yum install perl-DateTime
然后添加use DateTime
到我的脚本,但我收到此错误:
Can't locate Sub/Identify.pm in @INC (@INC contains:
/root/perl5/lib/perl5/5.16.3/x86_64-linux-thread-multi
/root/perl5/lib/perl5/5.16.3
/root/perl5/lib/perl5/x86_64-linux-thread-multi /root/perl5/lib/perl5
/usr/local/lib64/perl5 /usr/local/share/perl5
/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl
/usr/lib64/perl5 /usr/share/perl5 .) at
/root/perl5/lib/perl5/namespace/autoclean.pm line 200. Compilation
failed in require at /root/perl5/lib/perl5/DateTime/Locale.pm line 11.
BEGIN failed--compilation aborted at
/root/perl5/lib/perl5/DateTime/Locale.pm line 11. Compilation failed
in require at /usr/lib64/perl5/vendor_perl/DateTime.pm line 45. BEGIN
failed--compilation aborted at
/usr/lib64/perl5/vendor_perl/DateTime.pm line 45. Compilation failed
in require at myscript.pl line 8. BEGIN failed--compilation aborted
at myscript.pl line 8.
我不知道发生了什么事。 我已经通过CPAN安装了几个软件包。 这是我第一次尝试yum install
并且它不起作用。 有任何想法吗?
这就是混合通过包管理器和CPAN安装的模块的一个坏主意。
看起来你用yum安装了DateTime,但是用CPAN安装了DateTime :: Locale。 您可以通过在错误消息中跟踪依赖关系链来看到这一点:
/root/perl5/lib/perl5/namespace/autoclean.pm --> CPAN
/root/perl5/lib/perl5/DateTime/Locale.pm --> CPAN
/usr/lib64/perl5/vendor_perl/DateTime.pm --> yum
最新版本的namespace :: autoclean依赖于Sub :: Identify,它似乎在@INC
缺失。
那么yum安装了一个缺少依赖项的包吗? 不,当namespace :: autoclean不是依赖项时,它安装了旧版本的DateTime :: Locale:
$ cpan -D DateTime::Locale | grep -oP '[\d.]+(?=\s+up)' # newest version
1.14
$ yum info perl-DateTime-Locale | grep -oP 'Version\D+\K.+' # yum version
0.45
$ rpm -q --requires perl-DateTime-Locale | grep autoclean
$
但是由于你将/root/perl5/lib/perl5
放在@INC
的系统perl目录之前,你正在加载CPAN安装的版本,它需要namespace :: autoclean和Sub :: Identify。 当然,百胜没有办法知道这一点。
我不确定为什么Sub :: Identify丢失了......你可能已经删除了它,或者它可能只是安装在@INC
之外。 您可以尝试使用CPAN重新安装它,但最好是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.