当我发现CPAN模块出现问题时,我希望通过rt.cpan提供补丁或通过
GitHub提供拉取请求来帮助解决问题.
假设我发现ACME :: MadeUpName存在问题,缺少先决条件Foo :: Bard.我是否只需更新Makefile.PL,将ACME :: MadeUpName添加到PREREQ_PM部分?还有其他地方我应该更新吗?
另外,我如何确定需要哪个版本的Foo :: Bard?我是否只使用最新的CPAN版本?
解决方法@H_403_15@
如果发行版使用ExtUtils :: MakeMaker或Module :: Install,则Makefile.PL需要更新.如果它使用Module :: Build,那么使用Build.PL.但在许多情况下,Build.PL或Makefile.PL文件不是作者手动维护的东西,而是由某种发布管理工具构建的,例如Dist :: Zilla,在这种情况下最好更改工具的配置文件而不是Build.PL或Makefile.PL(无论如何都会被覆盖).
如果您不确定,可能更容易在没有针对此类问题的补丁的情况下提交错误报告.模块作者修复可能需要30秒才能解决 – 他们是最熟悉自己的构建工具和发布过程的人.
在版本方面,除非你知道在后来的版本中添加了ACME :: MadeUpName所使用的Foo :: Bard的特定功能,否则声明对Foo :: Bard 0的依赖.可能稍后它会变成0过于乐观,需要更高的版本号,但是当你来到它时,这个桥可以交叉.
如果您不确定,可能更容易在没有针对此类问题的补丁的情况下提交错误报告.模块作者修复可能需要30秒才能解决 – 他们是最熟悉自己的构建工具和发布过程的人.
在版本方面,除非你知道在后来的版本中添加了ACME :: MadeUpName所使用的Foo :: Bard的特定功能,否则声明对Foo :: Bard 0的依赖.可能稍后它会变成0过于乐观,需要更高的版本号,但是当你来到它时,这个桥可以交叉.