gpt4 book ai didi

MacOS:两个 Perl 安装: "Dumper.c: loadable library and perl binaries are mismatched"

转载 作者:行者123 更新时间:2023-12-05 06:21:31 28 4
gpt4 key购买 nike

我一直在努力摆脱 Perl 系统(MacOS,Catalina:v5.18.4)和 Homebrew Perl(v5.30.1)之间的冲突。这些模块安装在 ~/perl5

但我意识到,Perl 系统也用于模块 ~/perl5

以下是我的 Shell (zsh) 的一些信息:

which perl
/usr/local/bin/perl
ls -l /usr/local/bin/perl
lrwxr-xr-x 1 mstep admin 30 11 Jan 19:17 /usr/local/bin/perl -> ../Cellar/perl/5.30.1/bin/perl

这就是来自 Homebrew (v5.30.1) 的 Perl。来自 System-Perl 和

的一些其他信息
env | grep PERL
PERL5LIB=/Users/mstep/perl5/lib/perl5
PERL_LOCAL_LIB_ROOT=/Users/mstep/perl5
PERL_MB_OPT=--install_base "/Users/mstep/perl5"
PERL_MM_OPT=INSTALL_BASE=/Users/mstep/perl5

/usr/bin/perl -V
...
%ENV:
PERL5LIB="/Users/mstep/perl5/lib/perl5"
PERL_LOCAL_LIB_ROOT="/Users/mstep/perl5"
PERL_MB_OPT="--install_base "/Users/mstep/perl5""
PERL_MM_OPT="INSTALL_BASE=/Users/mstep/perl5"
@INC:
/Users/mstep/perl5/lib/perl5/5.18.4/darwin-thread-multi-2level
/Users/mstep/perl5/lib/perl5/5.18.4
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level
/Users/mstep/perl5/lib/perl5
/Library/Perl/5.18/darwin-thread-multi-2level
/Library/Perl/5.18
...

perl -e 'print join("\n",@INC)'
/Users/mstep/perl5/lib/perl5/5.30.1/darwin-thread-multi-2level
/Users/mstep/perl5/lib/perl5/5.30.1
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level
/Users/mstep/perl5/lib/perl5
/usr/local/Cellar/perl/5.30.1/lib/perl5/site_perl/5.30.1/darwin-thread-multi-2level
/usr/local/Cellar/perl/5.30.1/lib/perl5/site_perl/5.30.1
/usr/local/Cellar/perl/5.30.1/lib/perl5/5.30.1/darwin-thread-multi-2level
/usr/local/Cellar/perl/5.30.1/lib/perl5/5.30.1
/usr/local/lib/perl5/site_perl/5.30.1

在我的 .zshrc 文件中,我尝试了一切都无济于事;就目前而言,我将所有内容都注释掉了:

# PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
# eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib=$HOME/perl5)"
# eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"
# PATH="/Users/mstep/perl5/bin${PATH:+:${PATH}}"; export PATH;
# PERL5LIB="/Users/mstep/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB;
# PERL_LOCAL_LIB_ROOT="/Users/mstep/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT;
# PERL_MB_OPT="--install_base \"/Users/mstep/perl5\""; export PERL_MB_OPT;
# PERL_MM_OPT="INSTALL_BASE=/Users/mstep/perl5"; export PERL_MM_OPT;
# PERL_MM_OPT="INSTALL_BASE=/Users/mstep/perl5"; export PERL_MM_OPT;
# PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib

每次我启动 ZSH 时,它都会从安装 Running install for module 'local::lib' 开始,ZSH 会提示 YAML 没有安装,完成出现以下错误;如果我在我的 .zshrc 中留下一些 perl5-definition 行,它甚至会两次发出此错误:

Dumper.c: loadable library and perl binaries are mismatched (got handshake key 0xc500080, needed 0xc400080)

如何教育系统 perl,以使用正确的模块文件夹?如果有任何帮助,我将不胜感激!

马可

ps:感谢您的回答:

find /Users/mstep/perl5/lib/perl5 -name '*Dumper*' /Users/mstep/perl5/lib/perl5/PPIx/Regexp/Dumper.pm
/Users/mstep/perl5/lib/perl5/PPIx/QuoteLike/Dumper.pm
/Users/mstep/perl5/lib/perl5/Module/Build/Dumper.pm
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/.meta/Data-Dumper-2.173
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/auto/Data/Dumper
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/auto/Data/Dumper/Dumper.bundle
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/DBI/ProfileDumper.pm
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/DBI/Gofer/Serializer/DataDumper.pm
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/DBI/ProfileDumper
/Users/mstep/perl5/lib/perl5/darwin-thread-multi-2level/Data/Dumper.pm
/Users/mstep/perl5/lib/perl5/YAML/Dumper.pm
/Users/mstep/perl5/lib/perl5/YAML/Dumper.pod
/Users/mstep/perl5/lib/perl5/YAML/Dumper
/Users/mstep/perl5/lib/perl5/PPI/Dumper.pm

最佳答案

我最近遇到了这个问题,所以想在这里发布解决方案,因为我在任何地方都找不到它。

问题是 brew 中的 cpanm 安装(配方?)损坏 - 第一行(/usr/local/bin/的 shebang cpanm) 正在使用系统 perl。

我不得不跑

brew reinstall cpanm

因为这个问题现在已经在那个配方中得到解决,尽管版本没有发生变化。

然后我可以重新安装我的 perl 模块(例如 cpanm --reinstall JSON::XS)以使一切正常。

关于MacOS:两个 Perl 安装: "Dumper.c: loadable library and perl binaries are mismatched",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59809285/

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