我的任务是复制生产环境以创建许多测试/坐标环境.
我需要做的一件事是建立Perl,多年来已经安装了所有模块(包括内部和外部模块).我可以使用CPAN.pm autobundle,但这将导致测试环境具有生产所具有的更新版本的外部模块.
获取和安装(很多)特定于版本的Perl模块的最简单/最好的方法是什么.
bdfoy拥有最好的大规模解决方案,但是如果你只想安装几个模块,你可以要求CPAN shell通过引用tarball的路径(相对于CPAN树的顶部)来安装特定的发行版.
cpan> install MSCHWERN/Test-Simple-0.62.tar.gz
将BackPAN的URL丢入您的URL列表,您可以安装任何旧版本.
cpan> o conf urllist push http://backpan.perl.org/
这是在CPAN.pm FAQ中的 "如何安装模块的'DEVELOPER RELEASE'?"
准确地制作您自己的CPAN镜像.Stratopan.com,一种服务,以及Pinto,基于它构建的工具,可以帮助您实现这一目标.
CPAN工具仅安装任何发行版的最新版本,因为PAUSE仅索引最新版本.但是,您可以创建自己的私有CPAN,其具有您想要的分布.只有拥有自己想要的CPAN镜像后,才能将CPAN工具指向该镜像,以便只安装这些版本.更多关于这一点.
现在,你想要有几个版本.您可以根据需要创建任意数量的镜像,也可以将镜像放在源代码管理中,以便查看您喜欢的任何镜像版本.
CPAN :: Mini :: Inject等工具可以帮助您设置自己的CPAN.查看我在Slideshare上的基本示例,以及我在Vimeo上的一些视频演示.查看标题中包含"CPAN"或"BackPAN"的任何内容.我想我也可能在Perl Review中有一些关于它的东西,或者应该在下一期.:)
最近,我一直致力于一个名为dpan(对于DarkPAN)的程序,它可以查看随机目录,在其中找到Perl发行版,并创建所需的结构和索引文件.你运行dpan,你得到一个URL指向你的CPAN客户端,然后离开你.它是我的MyCPAN-Indexer项目的一部分,该项目位于Github.它还没有为无人监督的公共使用做好准备,因为我主要与公司客户合作来定制他们的设置.如果您对此感兴趣,请随时向我提问.
此外,我最近发布了CPAN :: PackageDetails,可以帮助您构建正确的索引文件.它仍然有点年轻,但再次,如果你需要一些特别的东西,请问.
cpan install App::cpanminus cpanm Your::Module@1.23
(Carton,在其他答案中引用,在cpanm
下面用于解析显式版本要求.)
[这已经差不多五年了,这是一个很好问及回答很好的问题,有很多观点.由于此页面仍必须出现在Google搜索中,因此更新不会受到影响.]
Carton
这里值得一提.Carton
在相同的风格作为一个相对较新的工具App::cpanminus
,App::cpanoutdated
,perlbrew
,等.人.作者(Miyagawa)称其为"alpha"质量,但即使在其当前状态下,纸盒也有助于简化跨机器的多个版本调整模块环境的维护.
Pinto
最近另一个与某些回复相关的工具(事实上,其中一个受访者是贡献者).