Как я могу заставить App :: cpanminus работать? - PullRequest
7 голосов
/ 17 октября 2010

Я только что установил свежую копию Ubuntu 10.10. Я установил Perl 5.12.2, следуя рекомендуемой схеме Брайана Д Фоя , а затем установил cpanminus, вызвав curl -L http://cpanmin.us | perl5.12.2 - --sudo App::cpanminus.

Теперь cpan5.12.2 работает нормально, но всякий раз, когда я пытаюсь установить модуль с помощью cpanm5.12.2, он не находит его. e.g.:

$ sudo cpanm5.12.2 -v File::Copy::Recursive
You have make /usr/bin/make
You have LWP 5.837
You have /bin/tar: tar (GNU tar) 1.23
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching File::Copy::Recursive on cpanmetadb ...
! Finding File::Copy::Recursive on cpanmetadb failed.
Searching File::Copy::Recursive on search.cpan.org ...
! Finding File::Copy::Recursive on search.cpan.org failed.
! Couldn't find module or a distribution File::Copy::Recursive

Ответы [ 2 ]

2 голосов
/ 13 марта 2012

Вы можете попробовать использовать perlbrew [1] для установки пользовательского интерпретатора perl.Затем вы можете активировать свою версию 5.12.2, установить cpanm (sudo не требуется) и установить свои модули как обычный пользователь, например. "$ cpanm My :: Module"

Используя этот метод, вы получаете пользовательские двоичные файлы cpanm, привязанные к каждой конкретной версии perlbrew.Вы должны установить модули cpan для каждой версии perlbrew, но в итоге вы получите не двоичные файлы типа «cpanm5.12.2», а «cpanm».Perlbrew позаботится о настройке пути для конкретной версии perl, что довольно удобно, IMHO.

[1] https://metacpan.org/module/App::perlbrew

1 голос
/ 01 июня 2015

У меня была такая же проблема. LWP использует $HTTP_PROXY вместо $http_proxy на моей машине.

Если вы укажете что-то для $ http_proxy без протокола (в моем случае я пропустил http:), он будет жаловаться, но, похоже, вводит в заблуждение, поскольку фактически не находит отсутствующие пакеты.

...