gpt4 book ai didi

perl - XS.c : loadable library and perl binaries are mismatched (got handshake key 0xce00080, 需要 0xdb80080)

转载 作者:行者123 更新时间:2023-12-05 01:13:02 24 4
gpt4 key购买 nike

我正在使用 perl5 并执行我的脚本

perl myscript.R 

并且出现以下错误。

Can't locate local/lib.pm in @INC (you may need to install the local::lib module) (@INC contains: /kb/deployment/lib /kb/deployment/lib/perl5 /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/x86_64-linux-gnu/perl5/5.24 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base).
BEGIN failed--compilation aborted.

所以我使用以下命令安装了 local::lib

cpan local::lib

但是在我尝试使用 perl myscript.pl 并得到

  XS.c: loadable library and perl binaries are mismatched (got handshake key 0xce00080, needed 0xdb80080)

我对解决这个问题一无所知。

最佳答案

二进制组件的版本与您尝试加载的模块的 Perl 组件的版本不匹配。

您似乎已使用 local::lib 在您的主目录中安装模块。升级您的 perl 会导致此设置严重失败。解决方法是删除 ~/perl5[1] 并重新安装本地安装的模块。


如果您有多个 Perl 版本,或者您不想在下次升级 Perl 时遇到这个问题怎么办?

有一些方法可以告诉安装程序在您的主目录中安装模块,这样多个版本的 Perl 可以共享安装目录,[2],但它并没有真正起作用。 [3]

这就是我使用 perlbrew 的原因将 Perl 本身安装在我的主目录中,这样我就不必覆盖模块的安装位置。使用 perlbrew 有以下好处:

  • 您可以轻松安装多个 Perl 版本。
  • 您可以随时升级 Perl,而不依赖于操作系统更新。
  • 在切换到“永久”使用之前,您可以使用更新版本的 Perl 测试脚本和模块。
  • 您可以使用旧版本的 Perl 测试脚本和模块。

  1. 好吧,重命名它直到你确定你已经完成了它。
  2. 通过将 PREFIX/--prefixLIB/--lib 选项传递给 Makefile.PL/Build.PL 而不是 INSTALL_BASE/--install-base
  3. 当纯 Perl 模块依赖于 XS 模块时,您会遇到问题。

关于perl - XS.c : loadable library and perl binaries are mismatched (got handshake key 0xce00080, 需要 0xdb80080),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61003436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com