Проблема зависимостей модулей Perl CPAN - PullRequest
2 голосов
/ 16 августа 2010

Я пытался установить SOAP::WSDL на Ubuntu 8.04 Server через CPAN, но получил следующее сообщение об ошибке:

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?

Ответы [ 3 ]

6 голосов
/ 16 августа 2010

Короче говоря, похоже, что ваша установка CPAN предпочитает использовать совместимый Makefile.PL вместо Build.PL.Стоит предпочесть Build.PL.Makefile.PL были предназначены только для совместимости и могут не иметь всех функций Module :: Build, таких как поддержка трех частей.

Запуск до cpan.o conf позволит вам увидеть вашу конфигурацию.Если prefer_installer не установлен в МБ, тогда выполните o conf prefer_installer MB.Возможно, вам придется o conf commit, чтобы сохранить его (он скажет вам).Вам также может понадобиться установить Module :: Build либо из пакета libmodule-build-perl, либо из CPAN.

Ошибка сообщена SOAP :: WSDL .

PS Выможно обойти это, сначала установив Class :: Std :: Fast, загрузив SOAP :: WSDL вручную, отредактировав Build.PL, чтобы удалить эту зависимость, и запустите cpan . в каталоге SOAP :: WSDL, чтобы установить его и его файлы.

1 голос
/ 16 августа 2010

Какая у вас версия CPAN?А конфигурация?(o conf в приглашении оболочки cpan.)

Хм, все выглядит хорошо.Разве по какой-то причине CPAN не смог загрузить Module :: Build?Можете ли вы попробовать установить заново из новой оболочки CPAN без предыдущих команд?

Или попробуйте выполнить установку вручную без использования CPAN.pm?

.
0 голосов
/ 16 августа 2010

Попробуй,

cpan Module::Build

и

cpan Module::Build::Compat

И я забыл что-то сказать, Ubuntu модифицирует пакеты, если вы пытаетесь установить модули с пользователем root, забудьте Попробуйте еще раз с local::lib.

После того, как вы это сделаете, сделайте:

cpan install CPAN

и, наконец,

cpan upgrade

Это должно решить вашу проблему.

...