Почему мой клиент CPAN от MacPorts не может найти Module::Build?

Я использую macports в снежном барсе. Я хотел установить определенные модули Perl, чтобы иметь возможность запускать скрипт. Модуль DateTime, если быть точным. Как мне это сделать? Я попытался использовать следующую команду.

perl -MCPAN -e shell
cpan > install DateTime

Но все равно пишет, что DateTime.pm не найден. Что я сделал не так?

Редактировать: я думаю, что неправильно настроил CPAN. Я получил ошибку

Can't locate Module/Build.pm in @INC (@INC contains: /opt/local/lib/perl5/site_perl/5.8.9/darwin-2level /opt/local/lib/perl5/site_perl/5.8.9 /opt/local/lib/perl5/site_perl /opt/local/lib/perl5/vendor_perl/5.8.9/darwin-2level /opt/local/lib/perl5/vendor_perl/5.8.9 /opt/local/lib/perl5/vendor_perl /opt/local/lib/perl5/5.8.9/darwin-2level /opt/local/lib/perl5/5.8.9 .) at Build.PL line 5.
BEGIN failed--compilation aborted at Build.PL line 5.
Warning: No success on command[/opt/local/bin/perl Build.PL ]
Warning (usually harmless): 'YAML' not installed, will not store persistent state
  DROLSKY/DateTime-0.61.tar.gz
  /opt/local/bin/perl Build.PL  -- NOT OK
Running Build test
  Make had some problems, won't test
Running Build install
  Make had some problems, won't install
Could not read '/Users/xxxxxx/.cpan/build/DateTime-0.61-ZNYzBn/META.yml'. Falling back to other methods to determine prerequisites
  Warning: CPAN.pm discovered Module::Build as undeclared prerequisite.
  Adding it now as such.

Нужно ли мне сначала сделать что-то еще?


person sfactor    schedule 26.08.2010    source источник
comment
можете дать точное сообщение об ошибке?   -  person Philip Potter    schedule 26.08.2010
comment
ну вот :). Я почти уверен, что пропустил некоторые довольно простые вещи.   -  person sfactor    schedule 26.08.2010
comment
Что происходит, когда вы пытаетесь установить Module::Build? Это не было основным модулем до Perl 5.10, а вы используете 5.8.   -  person brian d foy    schedule 26.08.2010
comment
Вы также должны установить YAML; это сделает установку cpan намного проще и менее подверженной ошибкам.   -  person Ether    schedule 26.08.2010


Ответы (3)


Самое простое решение, поскольку вы используете perl из macports, также установите DateTime из macports:

sudo port install p5-datetime

person Daniel J. Luke    schedule 04.02.2011

DateTime использует META.json — он еще не поддерживается. Поэтому сначала установите Module::Build. Обновление CPAN также является хорошей идеей.

person Alexandr Ciornii    schedule 26.08.2010

Вам лучше проверить конфигурацию вашего брандмауэра. Доступ CPAN к серверам может быть заблокирован. В любом случае, вы можете скачать и установить модуль вручную: http://search.cpan.org/dist/DateTime/

person lkahtz    schedule 26.08.2010