有人能指出 Perl 找不到已安装模块的可能原因吗?
$ ll /usr/share/perl5/Unix/Processors.pm
-rw-r--r-- 1 root root 3.2K Sep 11 12:39 /usr/share/perl5/Unix/Processors.pm
好的,
$ perldoc -l Unix::Processors
/usr/share/perl5/Unix/Processors.pm
好吧,但是
$ perl -MUnix::Processors -e1
Can't locate loadable object for module Unix::Processors in @INC (@INC contains: /usr/lib/cegma /usr/share/mocat/src /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 -e line 0
Compilation failed in require.
BEGIN failed--compilation aborted.
<小时/>
已修复:我已将已编译的 Processors.so
放在 .pm
旁边,而它本应位于 auto
目录中。
最佳答案
Unix::Processors
模块有一个 XS (C) 组件,必须在安装过程中对其进行编译和链接。错误消息无法定位可加载对象
指的是此组件(共享库)而不是.pm
模块文件本身
这是错误安装模块的症状,最常发生在 .pm
文件被简单地复制到位而不是按照 perldoc perlmodinstall 中所述正确安装时。 。如果安装是强制的,无论构建和测试阶段是否出现任何错误,也可能会发生这种情况。
关于perl - 为什么即使在安装模块后,我仍会收到 "Can' t 定位模块的可加载对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28699289/