在脚本中使用MiniCPAN存储库时遇到问题(aim是一个代码部署系统,用于构建本地模块和来自CPAN的模块,安装到本地库中,然后同步到服务器)
urllist设置为['file:///home/user/minicpan/']的$HOME/.cpan/CPAN/MyConfig.pm存在
(非CPAN)模块分发已成功注入到minicpan中,并且文件存在:例如/home/user/minicpan/authors/U/US/USER/My-Module-0.01.tar.gz。
作者在.../01mailrc.txt.gz中,模块在.../modules/02packages.details.txt.gz中
可以通过cpan shell找到并安装该模块。
以下代码失败:
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环境变量通过bash配置文件中的eval $(perl -I$HOME/foo/lib/perl5 -Mlocal::lib=$HOME/locallib)进行设置
在得到任何一个错误(包括“模块是最新的”)之后,在CPAN.pm中正常的“安装”不需要强制执行,perl -MCPAN -e "install My::Module"也是如此,所以我认为是配置设置不正确,但是shell文档很难理解……
(CPAN.pm为v1.9402)
发布于 2012-05-03 12:10:17
尝试:
#!/usr/bin/perl -w
system <cpan install My::Module>https://stackoverflow.com/questions/4145685
复制相似问题