Как мне установить модуль? Вопросы клубники Perl - PullRequest
17 голосов
/ 07 июля 2011

Я пытаюсь установить модуль 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:\strawberry\cpan\sources\authors\01mailrc.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:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:\WINDOWS\system32\ftp.EXE'
to get 'C:\strawberry\cpan\sources\authors\01mailrc.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:\WINDOWS\system32\ftp.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:\strawberry\cpan\sources\authors
    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:\strawberry\cpan\sources\authors.
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:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.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:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.
Warning: no success downloading 'C:\strawberry\cpan\sources\authors\01mailrc.txt.gz.tmp5264'. Giving up on it.

As a last resort we now switch to the external ftp command 'C:\WINDOWS\system32\ftp.EXE'
to get 'C:\strawberry\cpan\sources\authors\01mailrc.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:\WINDOWS\system32\ftp.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:\strawberry\cpan\sources\authors
    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:\strawberry\cpan\sources\authors.
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 ]

19 голосов
/ 07 июля 2011

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

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

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

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

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

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

6 голосов
/ 07 июля 2011

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

Переменные среды:

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).

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

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

2 голосов
/ 06 октября 2014

У меня была похожая проблема, хотя решения здесь не решили ее для меня. Я только что обновил 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; он снова спросил меня о моих учетных данных (которые мне не нужны для используемого прокси-сервера), поэтому я просто дважды нажал клавишу ввода, чтобы оставить их пустыми, и ему удалось подключиться и обновить свой индекс.

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

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

0 голосов
/ 20 сентября 2015

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

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

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

...