Возникли проблемы с получением CPAN для работы с репозиторием MiniCPAN из сценария (цель - система развертывания кода для создания локальных модулей вместе с модулями из CPAN, установки в local-lib, а затем синхронизации с серверами)
$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)
)
Модуль не установлен в local-lib (и больше нигде на компьютере, например, в / usr / ...) Переменные среды Local-lib устанавливаются через eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/locallib)
в профиле bash
После получения любой из ошибок (включая «Модуль обновлен») обычная «установка» в оболочке работает без применения силы, как и perl -MCPAN -e "install My::Module"
, поэтому я предполагаю, что конфигурация настроена неправильно, но документы CPAN.pm довольно сложны. следовать...
(CPAN.pm - v1.9402)