Perl CPAN模块的依赖问题

net*_*ope 2 perl soap wsdl cpan prerequisites

我试图SOAP::WSDL通过CPAN在Ubuntu 8.04服务器上安装,但收到以下错误消息:

cpan> install SOAP::WSDL
Running install for module SOAP::WSDL
Running make for M/MK/MKUTTER/SOAP-WSDL-2.00.10.tar.gz
Checksum for /root/.cpan/sources/authors/id/M/MK/MKUTTER/SOAP-WSDL-2.00.10.tar.gz ok
SOAP-WSDL-2.00.10/
SOAP-WSDL-2.00.10/benchmark/
(skipped many lines)
SOAP-WSDL-2.00.10/README

  CPAN.pm: Going to build M/MK/MKUTTER/SOAP-WSDL-2.00.10.tar.gz

# running Build.PL --installdirs site
Creating new 'MYMETA.yml' with configuration results
Creating new 'Build' script for 'SOAP-WSDL' version '2.00.10'
Prereq '0.0.5' for 'Class::Std::Fast' is not supported by Module::Build::Compat
Running make test
  Make had some problems, maybe interrupted? Won't test
Running make install
  Make had some problems, maybe interrupted? Won't install
Run Code Online (Sandbox Code Playgroud)

我有最新版本Class::Std::Fast和Module::Build::Compat:

$ perl -MModule::Build::Compat -e 'print $Module::Build::Compat::VERSION;'
0.3607
$ perl -MClass::Std::Fast -e 'print $Class::Std::Fast::VERSION;'
0.0.8
Run Code Online (Sandbox Code Playgroud)

知道如何解决问题吗?也许我需要降级Class::Std::Fast到版本0.0.5?

Sch*_*ern 6

简而言之,看起来你的CPAN安装更喜欢使用兼容性Makefile.PL而不是Build.PL.它应该更喜欢Build.PL.Makefile.PLs仅用于兼容性,可能没有Module :: Build的所有功能,例如支持三个部分版本.

火了cpan. o conf会让你看到你的配置.如果prefer_installer未设置为MB,则执行o conf prefer_installer MB.您可能需要o conf commit保存它(它会告诉您).您可能还必须从libmodule-build-perl包或CPAN 安装Module :: Build .

Bug报告给SOAP :: WSDL.

PS你可以通过首先安装Class :: Std :: Fast,手动下载SOAP :: WSDL,编辑Build.PL来删除该依赖项,然后cpan .在SOAP :: WSDL的目录中运行来安装它及其deps来解决这个问题.