修复Perl CPAN模块 - 在哪里添加prerequsites以及要使用的版本?

时间:2014-04-27 14:21:21

标签: perl perl-module cpan

当我发现CPAN模块出现问题时,我希望通过rt.cpan提供补丁或通过GitHub提取请求来帮助解决问题。

说我发现ACME::MadeUpName存在问题,错过了先决条件Foo::Bard。我是否只会更新Makefile.PLACME::MadeUpName添加到PREREQ_PM部分?还有其他地方我应该更新吗?

另外,我如何确定需要哪个版本的Foo::Bard?我是否只使用最新的CPAN版本?

1 个答案:

答案 0 :(得分:5)

如果发行版使用ExtUtils :: MakeMaker或Module :: Install,则Makefile.PL需要更新。如果它使用Module :: Build,那么使用Build.PL。但在许多情况下,Build.PL或Makefile.PL文件不是作者手动维护的东西,而是由某种发布管理工具构建的,例如Dist :: Zilla,在这种情况下它是&#39更好地更改工具的配置文件而不是Build.PL或Makefile.PL(无论如何都会被覆盖)。

如果您不确定,在没有针对此类问题的补丁的情况下提交错误报告可能会更容易。模块作者修复可能需要30秒才能解决 - 他们是最熟悉自己的构建工具和发布过程的人。

就版本而言,除非您知道的ACME :: MadeUpName使用的Foo :: Bard的特定功能是在更高版本中添加的,否则声明对Foo::Bard 0的依赖。也许稍后会发现0过于乐观,并且需要更高的版本号,但是当你来到它时,这个桥可以交叉。