Как установить модуль? Вопросов клубника на Perl

Я пытаюсь установить модуль Perl в Strawberry Perl на Windows 7.

Я запускаю команду ниже и получаю множество сообщений, которые я не понимаю. Похоже, я получаю 500 ошибок, как будто страница недоступна. Однако, когда я указываю зеркала в своем браузере, у меня нет проблем с доступом к каталогам FTP. У меня мало опыта Perl в Linux, и ни одного в Windows. Я попытался вручную добавить зеркало в URL-список, и я не думаю, что помог.

C:Program Files> cpan Win32::IE::Mechanize

CPAN: LWP::UserAgent loaded ok (v5.835)
CPAN: Time::HiRes loaded ok (v1.9721)
Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to cpan.strawberryperl.com:80 (Bad hostname 'cpan.strawberryperl.com')]
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.
Fetching with LWP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'mirror.teklinks.com']
Fetching with Net::FTP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Could not connect to host 'mirror.teklinks.com' with Net::FTP
Fetching with Net::FTP
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.gz
  Could not connect to host 'mirror.teklinks.com' with Net::FTP
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:WINDOWSsystem32ftp.EXE'
to get 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'.

Doing so often leads to problems that are hard to diagnose.

If you're the victim of such problems, please consider unsetting the
ftp config variable with

    o conf ftp ""
    o conf commit

Issuing "C:WINDOWSsystem32ftp.EXE -n"

  Trying with external ftp to get
    ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Going to send the dialog
    open mirror.teklinks.com
    user anonymous win32-vanilla@perl.org
    lcd C:strawberrycpansourcesauthors
    cd /
    cd CPAN
    cd authors
    bin
    passive
    get 01mailrc.txt.gz 01mailrc.txt.gz.tmp5264
    quit

Unknown host mirror.teklinks.com.
Not connected.
Local directory now C:strawberrycpansourcesauthors.
Not connected.
Not connected.
Not connected.
Not connected.
Invalid command.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.

Fetching with LWP:
http://cpan.strawberryperl.com/authors/01mailrc.txt.gz
LWP failed with code[500] message[Can't connect to cpan.strawberryperl.com:80 (Bad hostname 'cpan.strawberryperl.com')]
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.
Fetching with LWP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
LWP failed with code[500] message[LWP::Protocol::MyFTP: Bad hostname 'mirror.teklinks.com']
Fetching with Net::FTP:
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Could not connect to host 'mirror.teklinks.com' with Net::FTP
Fetching with Net::FTP
ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.gz
  Could not connect to host 'mirror.teklinks.com' with Net::FTP
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:WINDOWSsystem32ftp.EXE'
to get 'C:strawberrycpansourcesauthorsmailrc.txt.gz.tmp5264'.

Doing so often leads to problems that are hard to diagnose.

If you're the victim of such problems, please consider unsetting the
ftp config variable with

    o conf ftp ""
    o conf commit

Issuing "C:WINDOWSsystem32ftp.EXE -n"

  Trying with external ftp to get
    ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz
  Going to send the dialog
    open mirror.teklinks.com
    user anonymous win32-vanilla@perl.org
    lcd C:strawberrycpansourcesauthors
    cd /
    cd CPAN
    cd authors
    bin
    passive
    get 01mailrc.txt.gz 01mailrc.txt.gz.tmp5264
    quit

Unknown host mirror.teklinks.com.
Not connected.
Local directory now C:strawberrycpansourcesauthors.
Not connected.
Not connected.
Not connected.
Not connected.
Invalid command.
Not connected.
Bad luck... Still failed!
Can't access URL ftp://mirror.teklinks.com/CPAN/authors/01mailrc.txt.gz.

CPAN: YAML loaded ok (v0.73)
Please check, if the URLs I found in your configuration file
(http://cpan.strawberryperl.com/, ftp://mirror.teklinks.com/CPAN/) are
valid. The urllist can be edited. E.g. with 'o conf urllist push
ftp://myurl/'

Could not fetch authors/01mailrc.txt.gz

4 ответов


это легко брандмауэр / прокси-вопросы. Вам нужно настроить http_proxy переменная cpan. Введите оболочку cpan, введя cpan в командной строке и нажмите клавишу Enter. Однажды в cpan shell, введите следующее:

o conf http_proxy http://proxy.mycorp.com:8080/

cpan может затем попросить у вас имя пользователя и пароль, чтобы вы могли использовать прокси для http-трафика, по крайней мере.

возможно, что ваш ftp-доступ заблокирован брандмауэром. cpan будет работать этот.

  • вы можете посмотреть на свой браузер, если конфигурация прокси проста.
  • если это сложнее, вам придется
    • вставьте URL-адрес сценария конфигурации в адрес браузера
    • откройте этот URL-адрес с помощью редактора, когда браузер предложит вам (или используйте редактор, который принимает HTTP-URL-адреса для jedit или Блокнот++. ).

после разбора дела для расположение и CPAN, то вы можете взять имя сервера, а порт, если таковые имеются, и установить переменную окружения или cpan конфигурация со значением.


Это похоже на проблему с прокси. The cpan shell использует переменные среды, которые необходимо установить, чтобы он знал о прокси-сервере-он не может обнаружить их из браузера.

переменные среды являются:

http_proxy         proxy host for http requests
ftp_proxy          proxy host for ftp requests

поскольку вы находитесь в Windows, вы можете сделать следующее из той же командной оболочки:

C:\> set http_proxy=http://proxy.sn.no:8001/
C:\> set ftp_proxy=http://proxy.sn.no:8001/
C:\> cpan 

а затем попробуйте установить, как и раньше. Поскольку ваш CPAN использует FTP,ftp_proxy необходимо будет установить (и да, URL-адрес для него будет обычно быть http один).

вы также можете установить переменные среды постоянно в панели управления системы, обычно в разделе Расширенные настройки, переменные среды. Вы можете установить их либо для системы, либо для текущего пользователя. Лучше не устанавливать их для всей системы, если у вас нет очень веской причины.

вам нужно будет выяснить, что такое прокси-сервер на самом деле. Ваш браузер должен знать, поэтому посмотрите в его настройках интернета.


у меня была аналогичная проблема, хотя решения здесь не исправить это для меня. Я только что обновил Strawberry Perl с 5.18.2.1 до 5.20.1.1 на трех машинах, и хотя CPAN работал на двух машинах Windows 7, он не работал на машине Windows Server 2003.

в конце концов, то, что исправило это для меня, было удалить файл конфигурации CPAN,C:\strawberry\perl\lib\CPAN\Config.pm в моем случае. Я начал CPAN и сделал reload index; он еще раз попросил меня о моих учетных данных (которые мне не нужны для прокси я использую), поэтому я просто дважды нажал enter, чтобы оставить их пустыми, и ему удалось подключиться и обновить свой индекс.

помню, раньше видел предупреждения в выпуске Клубника на Perl ноты сказать удалить C:\strawberry после удаления предыдущей версии и перед установкой новой версии. На этот раз, похоже, такого предупреждения не будет, но я полагаю, что это хорошая практика.

в стороне, временное решение, которое я использовал, прежде чем получить CPAN работа снова заключалась в копировании через lib, site и vendor каталоги с машины, на которой я уже обновил Perl и на которой CPAN сделал все еще работает. Таким образом, у меня были все модули, которые мне нужны, без работы CPAN. (Две машины имели одинаковую архитектуру, для обновления требовался один и тот же установщик.)


конфигурационный файл CPAN в среде Strawberry Perl:

c:\Strawberry\perl\lib\CPAN\Config.pm .

определения конфигурации для конкретного пользователя записываются в расположенном по адресу: C:\Users\user name\AppData\Local\.cpan\CPAN\. Определения прокси могут быть переопределены в одном из этих файлов.