我尝试通过CPAN在Ubuntu 8.04服务器上安装SOAP::WSDL
,但收到以下错误消息:
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
我有最新版本的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
知道如何解决问题吗?也许我需要将Class::Std::Fast
降级到版本0.0.5?
答案 0 :(得分: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。
PS你可以通过首先安装Class :: Std :: Fast,手动下载SOAP :: WSDL,编辑Build.PL来删除该依赖项,然后在SOAP :: WSDL的目录中运行cpan .
来解决这个问题。安装它及其代表。
答案 1 :(得分:1)
您的CPAN版本是什么?和配置? (o conf
在cpan shell提示符下。)
或者尝试不使用CPAN.pm进行手动安装?
答案 2 :(得分:0)
试试吧,
cpan Module::Build
和
cpan Module::Build::Compat
我忘了说些什么,如果你试图用root用户安装模块,Ubuntu会修改软件包,忘了。请使用local::lib
再试一次。
执行此操作后,请执行以下操作:
cpan install CPAN
最后,
cpan upgrade
它应该可以解决你的问题。