ListUtil.c:可加载库和perl二进制文件不匹配(获取握手键0xdb00080,需要0xdb80080)

jav*_*man 12 ubuntu perl perl-module cpanm

出于某种原因,每当我运行任何Perl模块(如cpanm)时,我都会得到这样的响应:

ListUtil.c: loadable library and perl binaries are mismatched (got         
handshake key 0xdb00080, needed 0xdb80080)
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会这样.似乎没有任何额外的堆栈跟踪,即使有很多关于此错误的错误报告和问题,我也无法找到解决方案.我正在运行Ubuntu 17.04.

编辑:我正在运行Ubuntu附带的默认Perl安装.

Ber*_*man 14

当perl或perl模块与官方软件包一起单独安装时,可能会发生这种情况.环境变量可用于切换到不同的perl安装.

要查明是否是这种情况:

env | grep PERL
Run Code Online (Sandbox Code Playgroud)

PERL5LIBPERL_LOCAL_LIB_ROOT输出可能会导致问题.尝试取消设置环境变量并将其从~/.bashrc文件或等效的shell rc文件中删除.


小智 5

源自 Bert Hekman,7 月 5 日 8:22 回答:

env PERL5LIB= PERL_LOCAL_LIB_ROOT= cpan
Run Code Online (Sandbox Code Playgroud)

为我做了一个快速而肮脏的解决方案。


jav*_*man 2

好吧,事实证明重新启动就成功了。我想我应该在发布这里之前将其关闭然后再打开。