当我发现缺少先决条件的 CPAN 模块存在问题时,我想通过 rt.cpan 提供补丁或通过 GitHub 提供拉取请求来提供帮助.
假设我发现 ACME::MadeUpName
有问题,缺少先决条件 Foo::Bard
.我可以更新Makefile.PL
吗?添加 ACME::MadeUpName
到PREREQ_PM
部分?还有其他地方我应该更新吗?
另外,我如何确定 Foo::Bard
的哪个版本?要求?我是否只使用最新的 CPAN 版本?
最佳答案
如果该版本使用 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
太乐观了,需要更高的版本号,但到了那座桥就可以跨过去了。
关于perl - 修复 Perl CPAN 模块 - 在哪里添加先决条件以及使用什么版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23324548/