在Mac上安装Moose的问题(编译Sub :: Name prereq)

时间:2010-05-03 04:57:11

标签: perl cpan moose

我正在尝试在我的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.

我想知道当我从旧机器(英特尔之前)移动到此机器时,如果二进制文件被移动,我现在需要重新编译。但是,如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:2)

您是否尝试通过CPAN手动安装Sub :: Name?

CPAN>安装Sub :: Name

另外,我更喜欢在Mac上使用端口[http://www.macports.org/]来安装Perl模块(或者其他任何开源产品)。

  1. 它保留了Mac OS附带的功能。因此,如果Apple推出更新版本的操作系统更新,则不会破坏我的设置。

  2. 我可以使用端口回滚我所做的更改。

  3. Moose可在macport上使用,可以安装为:

    sudo port install p5-moose

答案 1 :(得分:2)

哎呀,你不应该将perl安装从一台机器复制到另一台机器。用新安装重新开始会好得多。

我强烈建议从轨道上取消你的macports目录(/ opt / local)并重新开始。您可以使用port list installed获取当前安装的软件包列表,但您可以先安装所需的主要应用程序,然后再根据需要安装其他软件包。