。我无法在此安装上进行任何更改,因此我安装了cpanm来创建自己的cpan模块存储库。我在那里定义了install-dir和安装的模块。
问题是,某些模块已经安装在另一个版本的server-perl上。所以我得到以下错误消息(例如,我也得到了其他模块与其他pl脚本)
Digest::MD5 object version 2.39 does not match bootstrap parameter 2.53 at /usr/lib64/perl5/DynaLoader.pm line 223.
在/ usr / lib64 / perl5中安装了server-perl模块。我的目标在另一个目录中。
如果他发现更多版本,我如何强制perl使用我的模块?这甚至是问题的根源吗?
谢谢!
答案 0 :(得分:1)
@INC
中路径的顺序很重要。将您的目录放在默认目录之前。您可以将环境变量PERL5LIB
设置为指向您的目录以实现该目的。
答案 1 :(得分:0)
版本只能通过执行(加载)模块来确定,因此继续寻找其他版本是有问题的。
具有二进制组件的模块安装在arch dirs中(例如.../x86_64-linux-gnu-thread-multi/...
)。使用INSTALL_BASE
(由local :: lib使用)在外部目录中安装也会创建特定于体系结构的库。你不应该有一个Perl安装包括另一个Perl构建的arch目录。撤消您添加它所做的任何事情。不合适PERL5LIB
,也许?