我有一个本地MINICPAN存储库,但我想删除一个特定版本的模块,并注入一个旧版本.
这是我采取的步骤.
- create the MINICPAN, not filtering any modules
- use mcpani --add for the module in question
- use mcpani --inject
Run Code Online (Sandbox Code Playgroud)
此时,我可以在MINICPAN中看到它同时具有我想要的版本和更新的版本,如果我在cpan中发出install,那么该模块的较新版本就是install.如何从我的minicpan中删除新版本?
有没有办法使用特定于应用程序的迷你CPAN(以确保不同应用程序的特定模块版本,并使安装工作没有网络访问).'标准'mini-cpan方式依赖于在CPAN/Config.pm中使用文件URL设置'o conf urllist'
一个迷你cpan就好了.但是,我需要为每个应用程序(应用程序本地)从不同目录自动安装CPAN,因为每个应用程序都有不同的版本要求.
以下几乎可以工作,但之后只有一个部分工作的shell,仍然从网上取而不是从$file_url位置使用mini-cpan :
use CPAN;
use FindBin qw($Bin);
my $file_url="file:///$Bin/../cpan";
CPAN::Shell->o(qw( conf urllist ),$file_url);
CPAN::shell();
Run Code Online (Sandbox Code Playgroud) 我想知道Perl中是否有任何选项来构建包含我想要的模块的本地CPAN存储库,然后使用Perl分发重新分发它,然后根本不需要访问CPAN.
如果是的话,我可以展示一些例子吗?
我看了CPAN并找到了一个mincpan,但似乎minicpan带来了CPAN的所有镜像.如果可以使用minicpan只带来一个特定的模块子集,并且如果我有一个存储库,是否可以将它复制到另一个具有相同类型的操作系统并在那里安装相关模块而不会头疼?