【问题标题】:Error installing perl module安装 perl 模块时出错
【发布时间】:2017-06-08 19:00:22
【问题描述】:

试图从 CPAN 安装一个 Perl 模块,

使用命令

 get DBD::mysql
 make DBD::mysql`

在我执行这些命令之前它是成功的。

test DBD::mysql` 

 install DBD::mysql`

我收到此错误

#   Failed test 'use DBD::mysql;'

FAILED--Further testing stopped: Unable to load DBD::mysql
make: *** [test_dynamic] Error 255
MICHIELB/DBD-mysql-4.041.tar.gz
/usr/bin/make test -- NOT OK

真的很困惑如何安装模块并让模块正常运行。

有什么想法吗?

【问题讨论】:

  • 你用的是哪个osx?
  • 你需要发布实际的测试失败,这是屏幕上的输出。

标签: macos perl cpan


【解决方案1】:

编辑:同意 @stevieb 的 cmets,我改变了我的建议顺序,先手动安装和 cpanm,然后小心强制安装。

尝试手动安装:

cd /tmp
wget https://cpan.metacpan.org/authors/id/M/MI/MICHIELB/DBD-mysql-4.041.tar.gz
tar zxvf DBD-mysql-4.041.tar.gz
cd DBD-mysql-4.041
perl Makefile.PL
make
make test
make install

充其量,您应该能够安装该模块。 至少,您应该有关于它为什么没有安装的详细信息。然后,您可以将这些详细信息添加到您的原始帖子中,并获得更开明的答案。

另一个解决方案可能是使用 cpanminus。我不知道为什么:有时,一个不能用 CPAN 安装的模块会用 cpanminus。

如果你没有 cpanminus :

cpan -i App::cpanminus

然后

cpanm -i DBD::mysql

如果没有任何效果并且测试中的错误似乎不太重要,请尝试强制安装。

在 CPAN 外壳中:

force install DBD::mysql

【讨论】:

  • 在盲目强制安装之前找出哪个测试失败以及为什么失败是谨慎的做法,特别是对于将操纵数据的软件(在这种情况下为数据库后端),所以我推荐@987654325 @ 和 cpanm 命令以及推荐强制之前的手动构建。
  • 同意。我相应地编辑了答案。虽然如果它安装在 osx 上,它可能不是生产环境。
  • 这里失败了'Running make test PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00base.t .............................. 1/6 Bailout called. Further testing stopped: Unable to load DBD::mysql # Failed test 'use DBD::mysql;' # at t/00base.t line 15.
猜你喜欢
  • 1970-01-01
  • 2020-08-07
  • 2014-02-18
  • 1970-01-01
  • 2016-05-04
  • 2011-10-10
  • 2014-09-30
  • 2011-03-29
  • 1970-01-01
相关资源
最近更新 更多