Почему я не могу установить Perl's File::Find::Rule?

perl -MCPAN -e'install File::Find::Rule'
CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
  Database was generated on Mon, 13 Sep 2010 08:41:13 GMT
Running install for module File::Find::Rule
Running make for R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz
CPAN: Digest::MD5 loaded ok
Checksum for /root/.cpan/sources/authors/id/R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz ok
File-Find-Rule-0.32/
File-Find-Rule-0.32/Changes
File-Find-Rule-0.32/findrule
File-Find-Rule-0.32/lib/
File-Find-Rule-0.32/lib/File/
File-Find-Rule-0.32/lib/File/Find/
File-Find-Rule-0.32/lib/File/Find/Rule/
File-Find-Rule-0.32/lib/File/Find/Rule/Extending.pod
File-Find-Rule-0.32/lib/File/Find/Rule/Procedural.pod
File-Find-Rule-0.32/lib/File/Find/Rule.pm
File-Find-Rule-0.32/Makefile.PL
File-Find-Rule-0.32/MANIFEST
File-Find-Rule-0.32/META.yml
File-Find-Rule-0.32/README
File-Find-Rule-0.32/t/
File-Find-Rule-0.32/t/File-Find-Rule.t
File-Find-Rule-0.32/t/findrule.t
File-Find-Rule-0.32/testdir/
File-Find-Rule-0.32/testdir/File-Find-Rule.t
File-Find-Rule-0.32/testdir/findrule.t
File-Find-Rule-0.32/testdir/foobar
File-Find-Rule-0.32/testdir/lib/
File-Find-Rule-0.32/testdir/lib/File/
File-Find-Rule-0.32/testdir/lib/File/Find/
File-Find-Rule-0.32/testdir/lib/File/Find/Rule/
File-Find-Rule-0.32/testdir/lib/File/Find/Rule/Test/
File-Find-Rule-0.32/testdir/lib/File/Find/Rule/Test/ATeam.pm
Removing previously used /root/.cpan/build/File-Find-Rule-0.32

  CPAN.pm: Going to build R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz

Checking if your kit is complete...
Looks good
Warning: prerequisite Number::Compare 0 not found.
Warning: prerequisite Text::Glob 0.07 not found.
Writing Makefile for File::Find::Rule
---- Unsatisfied dependencies detected during [R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz] -----
    Number::Compare
    Text::Glob
Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes] yes
Running make test
  Delayed until after prerequisites
Running make install
  Delayed until after prerequisites
Running install for module Number::Compare
Running make for R/RC/RCLAMP/Number-Compare-0.01.tar.gz
Checksum for /root/.cpan/sources/authors/id/R/RC/RCLAMP/Number-Compare-0.01.tar.gz ok
Number-Compare-0.01/
Number-Compare-0.01/MANIFEST
Number-Compare-0.01/t/
Number-Compare-0.01/t/Number-Compare.t
Number-Compare-0.01/MANIFEST.SKIP
Number-Compare-0.01/Compare.pm
Number-Compare-0.01/Changes
Number-Compare-0.01/Makefile.PL
Removing previously used /root/.cpan/build/Number-Compare-0.01

  CPAN.pm: Going to build R/RC/RCLAMP/Number-Compare-0.01.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Number::Compare
     -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible
Running install for module Text::Glob
Running make for R/RC/RCLAMP/Text-Glob-0.08.tar.gz
Checksum for /root/.cpan/sources/authors/id/R/RC/RCLAMP/Text-Glob-0.08.tar.gz ok
Text-Glob-0.08/
Text-Glob-0.08/META.yml
Text-Glob-0.08/Changes
Text-Glob-0.08/MANIFEST
Text-Glob-0.08/t/
Text-Glob-0.08/t/Text-Glob.t
Text-Glob-0.08/lib/
Text-Glob-0.08/lib/Text/
Text-Glob-0.08/lib/Text/Glob.pm
Text-Glob-0.08/README
Text-Glob-0.08/Makefile.PL
Text-Glob-0.08/Build.PL
Removing previously used /root/.cpan/build/Text-Glob-0.08

  CPAN.pm: Going to build R/RC/RCLAMP/Text-Glob-0.08.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for Text::Glob
     -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible
Running make for R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz
  Is already unwrapped into directory /root/.cpan/build/File-Find-Rule-0.32

  CPAN.pm: Going to build R/RC/RCLAMP/File-Find-Rule-0.32.tar.gz

     -- NOT OK
Running make test
  Can't test without successful make
Running make install
  make had returned bad status, install seems impossible

Как я могу это сделать?

Спасибо


person peak    schedule 13.09.2010    source источник
comment
Проблема в установке Number::Compare; запустите его модульные тесты, чтобы увидеть, где он терпит неудачу.   -  person Ether    schedule 13.09.2010


Ответы (2)


Только установить:

apt-get install libfile-find-rule-perl

И это работает!!

person peak    schedule 13.09.2010
comment
Если вы устанавливаете модули в системную копию Perl, вы должны использовать только системный инструмент управления пакетами. Смешивание самодельных и системных модулей — верный путь к катастрофе. Если вам необходимо установить модули непосредственно из CPAN, всегда используйте что-то вроде local::lib чтобы защитить себя. - person Chas. Owens; 13.09.2010
comment
Установка модуля из пакета, вероятно, полностью обходит запуск его модульных тестов и тестов его зависимостей, что скрывает любые потенциальные проблемы, которые могут возникнуть при фактическом использовании модуля. (это еще одна причина, по которой я презираю использование менеджера пакетов для библиотек CPAN.) - person Ether; 13.09.2010

Это выглядит как Number::Compare и Text::Glob не удалось установить. Загрузите Number::Compare и соберите его вручную, чтобы увидеть, в чем проблема. Сделайте то же самое для Text::Glob .

person Chas. Owens    schedule 13.09.2010
comment
Они уже загружены; в оболочке CPAN выполните look Number Compare, а затем вручную попробуйте perl Makefile.PL (perl Build.PL для Text::Glob) - person ysth; 13.09.2010