perl - 为什么即使在安装模块后,我仍会收到 "Can' t 定位模块的可加载对象?

标签 perl module

有人能指出 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/

相关文章:

python - 在 Windows 8.1 上安装 lxml、libxml2、libxslt

module - 自动生成环境模块声明

javascript - Intellisense 自动完成功能在 VS Code for JS 中效果不佳

regex - 从 Perl 中的字符串中删除文件扩展名和路径

通过 CGI 脚本从 PHP 到 C/C++

regex - 编辑不在单独行上的嵌套标签中的超链接

javascript - 使用 webpack 加载揭示模块模式模块并将它们全局用作 es6 模块

perl - 比较两个数组哈希是否相等

perl - 如何摆脱空的if语句?

ruby-on-rails - 如何在 factory_girl 工厂中包含模块?