当我发现CPAN模块出现问题时,我希望通过rt.cpan提供补丁或通过GitHub提取请求来帮助解决问题。
说我发现ACME::MadeUpName
存在问题,错过了先决条件Foo::Bard
。我是否只会更新Makefile.PL
将ACME::MadeUpName
添加到PREREQ_PM
部分?还有其他地方我应该更新吗?
另外,我如何确定需要哪个版本的Foo::Bard
?我是否只使用最新的CPAN版本?
答案 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
过于乐观,并且需要更高的版本号,但是当你来到它时,这个桥可以交叉。