如何使用CPANPLUS自动捆绑更新Perl的新版本?

| 我有Perl 5.13.4,其中包含大量已安装的CPAN模块。 我刚刚编译了Perl 5.14.0。我想将5.13.4中的所有模块安装(重新编译)到5.14.0中。 我可以/已经使用\'cpanp \'和\'b \'选项生成了一堆已安装的模块;我现在有一个文件“ 0”。 在将通过快照捆绑包并确保5.14.0已安装所有那些模块的5.1.4版\'cpanp \'中使用的命令是什么? 或者,如果组合使用cpanp和bundle是不合适的方法,那么对于新版本的Perl,复制(重新编译)旧版本的Perl中安装的模块的最简单方法是什么? (如果CPAN可以处理捆绑文件,我将使用它-这是我关心的结果,而不是实现它的机制。) (我确实在SO上快速查看了“ perl cpanplus软件包”的问题列表,但没有找到我想要的信息。我也多次查看过“ perldoc cpanp”,并且找不到我想要的信息。这与说“信息不存在”不一样;这可能只是意味着我没有发现它。)     
已邀请:
捆绑文件是CPAN的特殊情况,令我惊讶的是,它在CPANPLUS中也无法正常工作。这就是为什么没有人谈论CPANPLUS捆绑包,而您却找不到任何东西的原因。因此,请使用CPAN。首先找出CPAN根目录的位置,默认情况下,它是Free Desktop XDG兼容系统上的
~/.cpan
~/.local/share/.cpan
。相应地更改说明。
mkdir -p ~/.cpan/Bundle
mv ~/.cpanplus/5.13.4/dist/autobundle/Snapshot_2011_05_18_00.pm ~/.cpan/Bundle
cpan Bundle::Snapshot_2011_05_18_00   # DTRT
当您谈论重新编译时,CPAN拥有该命令,您可以从CPAN Shell发出该命令,也可以从命令行通过API调用发出该命令,但这仅在跨Perl版本的固定位置具有模块时才有用。     
截至目前,CPANPLUS自动捆绑软件都可以正常工作。只要确保引用带有\'
file://
\'前缀的捆绑软件即可。 当然,您将需要处理某些模块,但是在大多数情况下,它应该是完全可行的。     
一些额外的信息可能会使其他人省掉一些头发。 如果有快照文件“ 5”,则可以运行:
cpanp -i file://$HOME/Snapshot_2013_12_23_00.pm
然后安装将开始。 当您这样做时,Perl将创建一个文件,例如:
$HOME/cpan/authors/id/UNKNOWN-ORIGIN/Snapshot_2013_12_23_00.pm
(确切的位置取决于您在何处配置了CPANPLUS存储库;我的存入金额为ѭ8。) 如果您需要破解快照文件(因为某些模块无法编译),则可以在命令行上编辑并指定文件名,直到脸色发青并且完全没有毛发为止,并且它不会稍有差异,因为尽管您告诉它在ѭ9中查找,CPANPLUS仍在查看它复制到UNKNOWN_ORIGIN目录中的文件。删除文件当然可以;您可能也可以编辑它。     

要回复问题请先登录注册