ActivePerl и PPM

Я установил ActivePerl 5.14.2 на 32-битный компьютер с Windows XP. Моя проблема в том, что я пытаюсь установить несколько модулей с PPM, и это не работает.

Согласно веб-сайту ActiveState, все, что вам нужно сделать для установки модуля из их репозитория, - это «ppm install module name», например: http://code.activestate.com/ppm/Template-Toolkit/

Каждый раз, пробуя этот или любой другой модуль, получаю: "No Perl script found in input"

Даже когда я делаю просто «ppm», я получаю то же сообщение, хотя графический интерфейс должен работать.

Когда я запускаю PPM с графическим интерфейсом из меню «Пуск», я получаю такую ​​ошибку: «Failed 500 Can't connect to ppm4.activestate.com:8080 (connect: timeout)»

Я подумал, что это может быть мое соединение, поэтому, используя cmd.exe, я использовал команду set HTTP_PROXY, а затем попробовал ppm install, но все равно не повезло. Есть ли способ установить эти модули?

Любой совет приветствуется !!


person user1247595    schedule 30.07.2012    source источник
comment
Я бы рекомендовал установить либо DWIMPerl, либо Strawberry Perl (первый - это просто второй, связанный с кучей дополнительных предустановленных модулей). Любой из этих дистрибутивов превосходит ActivePerl.   -  person    schedule 30.07.2012
comment
Отсутствие Perl-скрипта во входных данных свидетельствует о повреждении ppm.bat. Эта ошибка возникает, когда perl -x в ней не может найти строку #! для Perl.   -  person ikegami    schedule 30.07.2012
comment
Второй вариант не требует пояснений. Не удалось создать TCP-соединение с портом 8080 сайта ppm4.activestate.com. Возможных причин множество, но обычно они сводятся к следующему: По крайней мере, одна из двух машин не подключена к Интернету. Это могло произойти из-за того, что вам нужно пройти через прокси-сервер, и это не было должным образом указано ppm.   -  person ikegami    schedule 30.07.2012
comment
@ikegami - я пользователь UNIX, но, судя по опыту обучения, у студентов обычно меньше проблем с установкой и запуском dwimperl. Activeperl имеет более сложную настройку. Но может я ошибаюсь.   -  person jm666    schedule 31.07.2012
comment
Если у меня есть поврежденный файл ppm.bat, как я могу его исправить? Сработает ли простая переустановка? Спасибо за ответы, мне нужно будет изучить Strawberry Perl   -  person user1247595    schedule 31.07.2012
comment
@ jm666, я не комментировал dwimperl, так как не знаком с dwimperl. ActivePerl имеет настройку в два клика («Далее», затем «Готово»), и так было по крайней мере с версии 5.6.1 (когда я впервые ее использовал).   -  person ikegami    schedule 31.07.2012
comment
dwimperl содержит Strawberry perl и Padre (IDE). Посмотри.   -  person jm666    schedule 31.07.2012
comment
@ikegami - хорошо, как я уже сказал - у меня нет личного опыта - только то, что я слышал в классах. Спасибо за разъяснения.   -  person jm666    schedule 31.07.2012
comment
@ jm666, может ты про использование cpan от ActivePerl. Не всегда можно было использовать его без предварительной установки других вещей (компилятора C), но теперь он автоматически устанавливает mingw, если это необходимо.   -  person ikegami    schedule 31.07.2012
comment
Что касается вашего поврежденного файла ... Проще всего переустановить ActivePerl, поскольку он его создает. Если бы я был на моем компьютере с Windows, я мог бы найти вам ярлык (pl2bat ppm.pl), но это не так.   -  person ikegami    schedule 31.07.2012
comment
Я без проблем пользуюсь Active Perl в течение многих лет. Вы пробовали использовать графический интерфейс PPM вместо командной строки (START == ›Все программы ==› Active Perl == ›PPM)?   -  person David    schedule 31.07.2012
comment
@ikegami - Strawberry Perl - это подмножество ActivePerl. Сегодня дети говорят: [необходима цитата].   -  person    schedule 31.07.2012


Ответы (1)


Вызовите приглашение cpan из командной строки. Перейдите к cmd и просто введите cpan. Если вы успешно введете cpan, запросите их, вероятно, с вашей установкой Perl нет проблем. Чтобы установить модуль из командной строки, просто используйте

cpan>install Module::Name

На снимке экрана ниже показана команда для установки модуля Net::Stomp.

введите описание изображения здесь

Если описанное выше не работает, проверьте, нужно ли добавить ваши порты данных FTP и подключения в исключения брандмауэра Windows (порты 20 (порт команд FTP) и 21 (порт данных FTP)).

В качестве альтернативы (если вы не хотите добавлять порт 20 21 в исключение), вы можете перейти к приглашению cpan и использовать ftp_proxy by

cpan> o conf ftp_proxy http://your.ftpproxy.com

а затем введите команду установки. Или вы можете обновить файл ../CPAN/config.pm, чтобы внести постоянные изменения в параметр ftp_proxy.

Следующим шагом будет попытка установить режим FTP_PASSIVE на 1. По умолчанию конфигурация libnetcfg для этого установлена ​​на 0. Чтобы изменить этот файл find libnetcfg.bat (должен находиться где-то в C: \ Perl \ bin), откройте файл в редакторе. и заменить

ftp_int_passive      0

to

ftp_int_passive      1

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

person AnBisw    schedule 30.07.2012
comment
Спасибо, я переустановил ActivePerl и снова попытался использовать другой прокси, и он работает. Итак, я не уверен, была ли это установка или прокси, спасибо за помощь, очень признателен! - person user1247595; 31.07.2012