未找到堆栈初始化包
Stack init package not found
当尝试使用 Stack 构建现有项目时,我遇到了类似
的错误
bv not found
- Genesis requires >=0.3 && <0.4 && -any
- exp requires -any
在 stack init
期间。这些包都安装在沙箱中,来自 hackage。我几乎可以肯定 Stack 不会查看沙箱,但为什么它找不到来自 hackage 的包?我也可以通过 运行 cabal build
进行构建。
stack先不看Hackage。它尝试仅使用 Stackage (you can find the exact snapshot you are using in the resolver
field of stack.yaml
). bv
does not seem to be in Stackage (at least it is not in the latest LTS snapshot) 快照中的包来构建您的项目。幸运的是,这个问题很容易解决:只需 运行 stack solver --modify-stack-yaml
。这将识别所有非 Stackage 依赖项并将它们添加到 stack.yaml
的 extra-deps
字段中。从那时起,这些依赖项将构建在项目的 .stack-work
子目录中的某个位置,其方式与 cabal-install 沙箱中的包非常相似。
当尝试使用 Stack 构建现有项目时,我遇到了类似
的错误bv not found
- Genesis requires >=0.3 && <0.4 && -any
- exp requires -any
在 stack init
期间。这些包都安装在沙箱中,来自 hackage。我几乎可以肯定 Stack 不会查看沙箱,但为什么它找不到来自 hackage 的包?我也可以通过 运行 cabal build
进行构建。
stack先不看Hackage。它尝试仅使用 Stackage (you can find the exact snapshot you are using in the resolver
field of stack.yaml
). bv
does not seem to be in Stackage (at least it is not in the latest LTS snapshot) 快照中的包来构建您的项目。幸运的是,这个问题很容易解决:只需 运行 stack solver --modify-stack-yaml
。这将识别所有非 Stackage 依赖项并将它们添加到 stack.yaml
的 extra-deps
字段中。从那时起,这些依赖项将构建在项目的 .stack-work
子目录中的某个位置,其方式与 cabal-install 沙箱中的包非常相似。