Возникают проблемы с получением CPAN для работы с репозиторием MiniCPAN из скрипта (целью является система развертывания кода для сборки локальных модулей вместе с модулями из CPAN, установки в локальную библиотеку и последующей синхронизации с серверами)
$HOME/.cpan/CPAN/MyConfig.pm
существует с URL-адресом, установленным на ['file:///home/user/minicpan/']
Дистрибутив модуля (не CPAN) был успешно введен в репо Minicpan, и файл существует: например, /home/user/minicpan/authors/U/US/USER/My-Module-0.01.tar.gz
.
Автор в .../01mailrc.txt.gz
, модуль в .../modules/02packages.details.txt.gz
Модуль найден и установлен через оболочку cpan.
Ошибка через следующий код:
CPAN::HandleConfig->load;
CPAN::Shell::setup_output;
CPAN::Index->reload;
# dumping config here shows urllist set correctly,
# and config exactly the same as through shell
use Data::Dumper;
$Data::Dumper::Sortkeys = 1;
print Dumper($CPAN::Config);
CPAN::Shell->install("My::Module");
Либо не найден модуль ("Cannot install My::Module, don't know what it is."
), либо заявка устарела (My::Module is up to date (0.01)
)
Модуль не установлен в локальной библиотеке (и нигде больше на машине, например, в / usr / ...)
Переменные окружения локальной библиотеки устанавливаются через
eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/locallib)
в профиле bash
После получения любой ошибки (включая «Модуль обновлен») обычная «установка» в оболочке работает без принуждения, как и perl -MCPAN -e "install My::Module"
, поэтому я предполагаю, что конфигурация настроена неправильно, но CPAN. Документация по ПМ довольно трудна для подражания ...
(CPAN.pm v1.9402)