我正在尝试在我的Macbook Pro上安装Moose(CPAN模块)。它找到了对Sub-Name的依赖关系,当它尝试安装它时,会收到以下错误消息。知道如何解决这个问题吗?
XMATH/Sub-Name-0.04.tar.gz /usr/bin/make -- OK Running make test PERL_DL_NONLAZY=1 /opt/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/smoke....Can't load '/private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle' for module Sub::Name: dlopen(/private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle, 2): no suitable image found. Did find: /private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.8.9/darwin-2level/DynaLoader.pm line 230. at t/smoke.t line 6 Compilation failed in require at t/smoke.t line 6.
+++附录+++
我尝试了使用该命令的建议 sudo port install p5-moose
安装报告成功,但其中包含“使用Moose”的文件给出:
"Can't load '/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle' for module Class::C3::XS: dlopen(/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle, 1): no suitable image found. Did find: /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle: mach-o, but wrong architecture at /opt/local/lib/perl5/5.8.9/darwin-2level/XSLoader.pm line 73. at /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/Class/C3/XS.pm line 48 Compilation failed in require at (eval 5) line 3.
我想知道当我从旧机器(英特尔之前)移动到此机器时,如果二进制文件被移动,我现在需要重新编译。但是,如果是这样,我该怎么做?
答案 0 :(得分:2)
您是否尝试通过CPAN手动安装Sub :: Name?
CPAN>安装Sub :: Name
另外,我更喜欢在Mac上使用端口[http://www.macports.org/]来安装Perl模块(或者其他任何开源产品)。
它保留了Mac OS附带的功能。因此,如果Apple推出更新版本的操作系统更新,则不会破坏我的设置。
我可以使用端口回滚我所做的更改。
Moose可在macport上使用,可以安装为:
sudo port install p5-moose
答案 1 :(得分:2)
哎呀,你不应该将perl安装从一台机器复制到另一台机器。用新安装重新开始会好得多。
我强烈建议从轨道上取消你的macports目录(/ opt / local)并重新开始。您可以使用port list installed
获取当前安装的软件包列表,但您可以先安装所需的主要应用程序,然后再根据需要安装其他软件包。