Haskell stack - allow-newer 已启用且不会关闭?
Haskell stack - allow-newer enabled and won't turn off?
根据 the docs,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
您 link 的文档是 stack.yaml
的选项列表,而不是 package.yaml
(它实际上不是堆栈的一部分,而是另一个名为 hpack 的工具的一部分)。如果 allow-newer 不在您的 stack.yaml
中,它可以隐藏的另一个地方是 $HOME/.stack/config.yaml
.
根据 the docs,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
您 link 的文档是 stack.yaml
的选项列表,而不是 package.yaml
(它实际上不是堆栈的一部分,而是另一个名为 hpack 的工具的一部分)。如果 allow-newer 不在您的 stack.yaml
中,它可以隐藏的另一个地方是 $HOME/.stack/config.yaml
.