如何从minicpan存储库中排除模块?

时间:2008-11-04 23:41:03

标签: perl minicpan

我有一个本地MINICPAN存储库,但我想删除特定版本的模块,并注入旧版本。

这是我采取的步骤。

- create the MINICPAN, not filtering any modules
- use mcpani --add for the module in question
- use mcpani --inject

此时,我可以在MINICPAN中看到它同时具有我想要的版本和更新的版本,如果我在cpan中发出install,那么该模块的较新版本就是install。如何从我的minicpan中删除新版本?

3 个答案:

答案 0 :(得分:5)

过滤要注入的模块。 CPAN::Mini有过滤文档,我想我在前面提到的资源中有一些例子。 :)

如果你已经拥有了minicpan,正如你在ysth的评论中所说,你可以从那个创建另一个 minicpan。在这种情况下,“远程”CPAN就是您拥有的CPAN。我一直都是这样做的:我有一个规范的minicpan,但是为了测试一些东西,我从中过滤来创建新的存储库,这样我就不必处理网络了。

答案 1 :(得分:3)

不过滤模块最初是否有效?

答案 2 :(得分:0)

另一种策略是使用Pinto。与minicpan不同,Pinto存储库仅包含 您想要的发行版(及其依赖项),因此不需要进行过滤。这样可以生成更小,更易于管理的文件堆,因此您可以轻松地将其检查到SCM中。 Pinto还有一些用于处理升级的简洁工具,而不会意外地破坏您的应用程序。

此外,Stratopan在云端托管Pinto存储库。您可以通过浏览器管理存储库,并在任何可以访问Internet的地方安装模块。它还没有支持Pinto的所有功能,但Stratopan真的很难避免维护本地CPAN。

免责声明:我经营Stratopan。