根据Extend Jenkins, Dependencies among plugins,allow-newer
是package.yaml
中的一个选项,它告诉堆栈忽略cabal
文件中指定的依赖项版本的界限。尽管事实上默认情况下应该禁用它,但是在构建时仍然收到以下奇怪的错误消息:
WARNING: Ignoring <Project name>'s bounds on Persistence (>2.0); using Persistence-2.0.
Reason: allow-newer enabled.
WARNING: Ignoring <Project name>'s bounds on binary (>0.8.6.0); using binary-0.8.6.0.
Reason: allow-newer enabled.
为解决此问题,我在allow-newer: false
上添加了package.yaml
,但这仅导致了
/path/to/project/package.yaml: Ignoring unrecognized field $.allow-newer
以及上述其他错误消息。
这里可能出什么问题了?我正在使用stack
版本2.1.3。
stack.yaml
(省略评论):
resolver: lts-14.0
packages:
- .
extra-deps:
- Persistence-2.0@sha256:997664d1805105f10202b6148cb3cfd57fa1e298be5b21e9fa97108bfb8f7918,2093
答案 0 :(得分:2)
您链接到的文档是stack.yaml
而不是package.yaml
(这不是堆栈的一部分,而是称为hpack的其他工具)的选项列表。如果您的stack.yaml
中未包含allow-newer,则它可能隐藏的另一个位置是$HOME/.stack/config.yaml
。