2010-11-10 35 views
2

使CPAN在脚本中使用MiniCPAN存储库时遇到问题(目标是通过代码部署系统与CPAN中的模块一起构建本地模块,安装到本地库,然后同步到服务器)如何从本地MiniCPAN存储库自动安装模块?

$HOME/.cpan/CPAN/MyConfig.pm存在,并且urllist设置为['file:///home/user/minicpan/']

(非CPAN)模块分发被成功注入到minicpan repo中,并且存在文件:例如/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)

模块未安装在本地-LIB日期(和不其他机器上的任何地方,例如在/ usr/...) 本地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)

+0

曾与CPANPLUS没有运气要么...结束了使用App :: cpanminus新“--mirror -only'选项(在v.1001中) – plusplus 2010-11-17 15:26:05

+0

当你说“注入”时,你如何注入MiniCPAN?你是否只是在不更新索引的情况下复制文件? – 2011-05-26 10:59:43

回答

0

尝试:

#!/usr/bin/perl -w 

system <cpan install My::Module> 
相关问题