Perl 如何从本地MiniCPAN存储库自动安装模块?
在让CPAN从脚本中使用MiniCPAN存储库时遇到问题(aim是一个代码部署系统,用于与来自CPAN的模块一起构建本地模块,安装到本地库,然后同步到服务器)Perl 如何从本地MiniCPAN存储库自动安装模块?,perl,cpan,minicpan,Perl,Cpan,Minicpan,在让CPAN从脚本中使用MiniCPAN存储库时遇到问题(aim是一个代码部署系统,用于与来自CPAN的模块一起构建本地模块,安装到本地库,然后同步到服务器) $HOME/.cpan/cpan/MyConfig.pm存在,URL列表设置为['file:///home/user/minicpan/'] (非CPAN)模块分发已成功注入minicpan repo,文件存在:例如/home/user/minicpan/authors/U/US/user/My-module-0.01.tar.gz 作者
$HOME/.cpan/cpan/MyConfig.pm
存在,URL列表设置为['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");
找不到模块(“无法安装My::module,不知道它是什么。”
)或声明是最新的(My::module是最新的(0.01)
)
模块未安装在本地库中(也未安装在计算机上的任何其他位置,例如/usr/…)
本地lib环境变量通过
bash概要文件中的eval$(perl-I$HOME/foo/lib/perl5-Mlocal::lib=$HOME/locallib)
在收到任何一个错误(包括“Module is update”)后,shell中的正常“install”都可以正常工作,就像perl-MCPAN-e“install My::Module”
一样,因此我认为是配置设置不正确,但是CPAN.pm文档很难遵循
(CPAN.pm是v1.9402)试试:
#!/usr/bin/perl -w
system <cpan install My::Module>
#/usr/bin/perl-w
系统
试试:
#/usr/bin/perl-w
系统
在CPANPLUS上也不走运。。。最后使用App::cpanminus和新的“--mirror only”选项(在v.1001中)当你说“injected”时,你是如何将其注入MiniCPAN的?你只是在原地复制文件而没有更新索引吗?CPANPLUS也没有运气。。。最后使用App::cpanminus和新的“--mirror only”选项(在v.1001中)当你说“injected”时,你是如何将其注入MiniCPAN的?您只是在不更新索引的情况下就地复制文件吗?