Как сообщить CPAN.pm, где можно получить модули?

Вот полная команда установки для 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.

Ответы

Ответ 1

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

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. Затем попробуйте выполнить установку.

Ответ 2

Когда вы впервые использовали модуль 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

Ответ 3

В предположении:

sudo perl -MCPAN -e "install YAML"