Как установить модуль? Вопросов клубника на 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
будет работать этот.
- вы можете посмотреть на свой браузер, если конфигурация прокси проста.
- если это сложнее, вам придется
после разбора дела для расположение и 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\
. Определения прокси могут быть переопределены в одном из этих файлов.