Установка Perl-модуля - PullRequest
4 голосов
/ 15 декабря 2010

Я пытаюсь установить модуль Perl с именем File-Copy-Recursive и выполняю следующие действия:

1) открыть cmd.exe 2) perl -MCPAN -e 'установить File :: Copy :: Recursive;'

и я получаю сообщение «Похоже, у вас нет компилятора C и установлена ​​утилита make. Попытка установить dmake и компилятор gcc MinGW с помощью Perl Package Manager. Это может занять несколько минут ...»

"Загрузка списка пакетов репозитория пакета ActiveState ... завершилась неудачно 500 Не удается подключиться к ppm4.activestate.com:80 (connect: timeout). Загрузка File-Copy-Recursive packlist ... не найдена Ошибка установки ppm.bat: не удается найти пакет с MinGW "

Это не удалось, потому что я за прокси, и я знаю настройки прокси, но я не знаю, как применить их в этой ситуации.

Кто-нибудь знает какие-либо альтернативные исправления этого решения?

Спасибо.

Ответы [ 3 ]

13 голосов
/ 15 декабря 2010

Похоже, вы используете ActiveState Perl, который поставляется с собственным менеджером пакетов (называемым PPM) для облегчения установки модулей, особенно тех, которые обычно требуют компилятора C для установки.

Попробуйте выполнить инструкции , чтобы настроить свою среду так, чтобы PPM знал о вашем прокси.Например, чтобы установить параметры прокси для одного экземпляра cmd.exe:

C:\>set http_proxy=http://username:password@proxy.example.org:8080

Затем, в том же окне командной строки, попробуйте это (это работает для меня, хотя я не запрокси):

C:\>ppm install File-Copy-Recursive

Обратите внимание, что, вероятно, неплохо (может быть, даже требуется?) запустить cmd.exe "Как администратор", чтобы убедиться, что у него есть полная авторизация.

EDIT: Конкретный модуль, который вы хотите использовать, написан на чистом Perl.Для быстрой «установки» вы можете просто загрузить его из CPAN, извлечь файлы и скопировать файл «Recursive.pm» в структуру каталогов File \ Copy, расположенную в том же каталоге, что и ваш скрипт:

yourscript.pl
File\
    Copy\
        Recursive.pm
5 голосов
/ 15 декабря 2010

В качестве альтернативы вы можете попробовать Strawberry Perl , который поставляется с инструментами для сборки модулей XS.

1 голос
/ 15 декабря 2010

Привет Я полагаю, вы используете Activestate Perl

посмотрите на http://docs.activestate.com/activeperl/5.10/faq/ActivePerl-faq2.html#what_is_ppm

PPM устанавливается автоматически с ActivePerl.

Чтобы использовать PPM, компьютер должен быть подключен к Интернету, иметь доступ к хранилищу PPM на локальном жестком диске или в сетевой папке или иметь доступ к подключенному ActiveState ActiveDVD.

Если вы подключаетесь к Интернету через брандмауэр или прокси-сервер, вам может потребоваться установить переменную среды http_proxy. См. PPM, Прокси и Брандмауэры для получения дополнительной информации.

...