Как мне сказать CPAN.pm, где взять модули? - PullRequest
13 голосов
/ 09 декабря 2008

Вот полная команда установки в CPAN и вывод:

sudo perl -MCPAN -e "install Bundle::CPAN"
CPAN: Storable loaded ok (v2.13)
Going to read /home/delgreco/.cpan/Metadata
  Database was generated on Mon, 08 Dec 2008 03:27:10 GMT
CPAN: LWP::UserAgent loaded ok (v2.033)
CPAN: Time::HiRes loaded ok (v1.55)
CPAN: YAML loaded ok (v0.39)
Warning: YAML version '0.39' is too low, please upgrade!
I'll continue but problems are *very* likely to happen.
Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist
push ftp://myurl/'

Could not fetch authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz
Giving up on '/home/delgreco/.cpan/sources/authors/id/A/AN/ANDK/Bundle-CPAN-1.857.tar.gz'
Note: Current database in memory was generated on Mon, 08 Dec 2008 03:27:10 GMT

        ...propagated at /usr/lib/perl5/5.8.5/CPAN.pm line 3417.

Это сработало для меня, спасибо ...

cpan> o conf urllist http://cpan.yahoo.com/

Конечно, установка Bundle :: CPAN не удалась для других зависимостей, но по крайней мере у меня сейчас YAML 0.68.

Ответы [ 3 ]

19 голосов
/ 09 декабря 2008

Это выглядит важно:

Your urllist is empty! The urllist can be edited. E.g. with 'o conf urllist push ftp://myurl/'

Возможно, запустите sudo cpan, затем o conf init или o conf urllist push http://cpan.yahoo.com/ (например), чтобы выправить свой urllist? Затем попробуйте выполнить установку.

4 голосов
/ 09 декабря 2008

Когда вы впервые использовали модуль CPAN, вас спросили что-то вроде «Готовы ли вы перейти к интерактивной настройке?» Вы, вероятно, ответили «нет». Были выбраны параметры конфигурации по умолчанию, поэтому зеркала репозитория CPAN не были настроены для извлечения архивов модулей из.

Как уже отмечали другие, вы можете настроить эту опцию с помощью команды o conf urllist внутри оболочки CPAN.

Мое личное предпочтение - создать «miniCPAN», локальный репозиторий, который в основном содержит самую последнюю версию каждого модуля (намного меньше, чем извлечение ВСЕХ CPAN, которые будут содержать много устаревших версий каждого модуля). Для этого настройте временное использование зеркального репозитория CPAN, установите из него модуль CPAN :: Mini, а затем используйте программу командной строки minicpan, которая будет установлена ​​для создания вашего репозитория. Теперь с помощью o conf urllist pop удалите настроенное вами зеркало CPAN и o conf urllist push file: /// path / to / your / minicpan, чтобы сообщить CPAN модулю о необходимости установки с локального зеркала. Вы можете поместить команду minicpan в cron для регулярного обновления или просто запустить ее из командной строки всякий раз, когда вы хотите обновить.

Формат команды minicpan:

minicpan -l /path/to/your/local/minicpan-repository -r http://example.com/url/of/CPAN/mirror
0 голосов
/ 09 декабря 2008

На предположение:

sudo perl -MCPAN -e "install YAML"
...