2010-11-10 61 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>