我的任务是复制生产环境以创建许多测试/就座环境。

我需要做的一件事就是建立Perl,并使用多年来安装的所有模块(包括内部和外部模块)。我可以只使用CPAN.pm autobundle,但这将导致测试环境具有生产所具有的外部模块的更新版本。

获取和安装(很多)特定于版本的Perl模块的最简单/最佳方法是什么?

最佳答案

随心所欲地制作自己的CPAN镜像。服务Stratopan.com和构建在上面的Pinto工具可以帮助您实现这一目标。

CPA工具仅安装任何发行版的最新版本,因为PAUSE仅索引最新版本。但是,您可以创建自己的私有(private)CPAN,该CPAN具有所需的确切分发。一旦拥有了仅包含所需内容的CPAN镜像,就可以将CPAN工具仅指向该镜像,以便仅安装这些版本。一分钟内可以了解更多。

现在,您希望拥有多个版本。您可以创建任意数量的镜像,也可以将镜像置于源代码管理中,以便可以 checkout 所需版本的镜像。

诸如CPAN::Mini::Inject之类的工具可以帮助您设置自己的CPAN。请查看my talks on Slideshare中的基本示例,并查看my videos on Vimeo中的一些示例。查看标题中带有“CPAN”或“BackPAN”的任何内容。我想我也可能在The Perl Review中对此有所了解,或者应该在下一期发布。 :)

最近,我正在开发一个名为dpan(适用于DarkPAN)的程序,该程序可以查看随机目录,在其中查找Perl发行版,并创建所需的结构和索引文件。运行dpan,您将获得一个指向CPAN客户端的URL,然后退出。这是MyCPAN-Indexer项目的一部分,该项目位于Github中。还没有准备好在无人监督的公共(public)场合使用,因为我主要与公司客户一起定制他们的设置。如果您对此感兴趣,请随时向我提问。

另外,我最近发布了CPAN::PackageDetails,可以帮助您构建正确的索引文件。它也还很年轻,但是如果您需要一些特别的东西,那就问一下。

关于perl - 如何安装一组Perl模块的特定版本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/260593/

10-12 23:02