【发布时间】:2017-03-03 14:14:57
【问题描述】:
我一直在工作中的项目中使用 Dist::Zilla,并且我已经在 [Prereqs / Requires] 部分声明了我的所有依赖项。到目前为止还不错。
现在我发现我的一个依赖项的最新版本破坏了向后兼容性,所以我想限制我所依赖的版本范围。类似于cpanm 支持的东西:
# from perldoc cpanm
cpanm Plack~">= 1.0000, < 2.0000" # latest of 1.xxxx
cpanm Plack@0.9990 # specific version. same as Plack~"== 0.9990"
或Module::Build:
'Other::Module' => '>= 1.2, != 1.5, < 2.0',
一般来说,我如何使用 Dist::Zilla 声明这种依赖类型?
【问题讨论】:
-
我只是指出您应该非常小心地限制依赖项的最大版本以供参考。虽然该功能存在并且适用于现代工具链,但 CPAN 不是包管理器,因此如果另一个依赖项决定它需要比您允许的更新版本的模块,CPAN 安装程序将无法解决它;您不能安装同一模块的两个版本。此外,没有什么可以阻止稍后的进程安装较新的版本,因为此版本检查只会在您的模块安装时发生。
标签: perl dist-zilla