使用 zef 强制安装顺序

Forcing installation order using zef

最近,安装 LWP::Simple 需要先安装 IO::Socket::SSL,如此 Travis log 所示。但是,似乎没有办法强制 zef 按照特定顺序安装它们。我唯一能想到的办法就是在META6.JSONdepends段之前列出来,但是好像不行。

我找到的唯一稍微相关的解决方案是 this one,但它没有提供解决方案,而是报告了一个(旧的并且已经修复的)错误。 此外,不同阶段的依赖项(例如 build)似乎都混合在一起并安装在,我猜,依赖第一顺序。 那么,除了在 LWP::Simple 中将 IO::Socket::SSL 列为依赖项,或者之前通过另一个直接命令强制安装之外,还有其他方法可以解决这个问题吗?

模块作者对依赖项安装顺序没有发言权。按顺序执行它们的幼稚解决方案对并行化不友好。

至于测试失败的实际问题——这怎么不是 LWP::Simple 中的错误?由于缺少 IO::Socket::SSL,测试显然失败了,因此应将 IO::Socket::SSL 添加到其测试依赖项中,或者应将其 test 固定为不指向 url转发到 https(在 IO::Socket::SSL 的跳过所有测试完成以下 4 行之前)。