3

我正在尝试在我的 Macbook Pro 上安装 Moose(一个 CPAN 模块)。它找到了对 Sub-Name 的依赖关系,当它尝试安装它时,会收到以下错误消息。关于如何治愈这个的任何想法?

  XMATH/子名称-0.04.tar.gz
  /usr/bin/make -- 好的
  运行 make 测试
  PERL_DL_NONLAZY=1 /opt/local/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/smoke....无法为模块 Sub 加载“/private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle”: :Name: dlopen(/private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle, 2): 没有找到合适的镜像。  

发现:
    /private/var/root/.cpan/build/Sub-Name-0.04-ziHbmm/blib/arch/auto/Sub/Name/Name.bundle: mach-o,但是 /opt/local/lib/perl5 的架构错误/5.8.9/darwin-2level/DynaLoader.pm 第 230 行。
 在 t/smoke.t 第 6 行
在 t/smoke.t 第 6 行的 require 编译失败。

+++ 附录 +++

我尝试了使用命令 sudo port install p5-moose 的建议

安装报告成功,但其中包含“use Moose”的文件给出:

“无法为模块 Class::C3::XS: dlopen 加载 '/opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle' (/ opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle, 1): 没有找到合适的图片。确实找到了:
    /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/auto/Class/C3/XS/XS.bundle:mach-o,但 /opt/local/lib/perl5/5.8 的架构错误。 9/darwin-2level/XSLoader.pm 第 73 行。
 在 /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level/Class/C3/XS.pm 第 48 行
在 (eval 5) 第 3 行的 require 中编译失败。

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

4

2 回答 2

2

哎呀,您不应该将 perl 安装从一台机器复制到另一台机器。最好从新安装开始。

我强烈建议您从轨道中删除您的 macports 目录(/opt/local)并重新开始。您可以使用 获取当前安装的软件包的列表port list installed,但您可以首先安装您立即需要的主要应用程序,然后仅在需要时安装其他东西。

于 2010-05-03T16:35:43.643 回答
2

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

cpan> 安装 Sub::Name

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

  1. 它使 Mac OS 附带的内容保持不变。因此,如果 Apple 通过他们的操作系统更新推送更新版本,它不会破坏我的设置。

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

Moose 在 macports 上可用,可以安装为:

sudo 端口安装 p5-moose

于 2010-05-03T10:08:30.547 回答