首页 文章

找不到堆栈初始化包

提问于
浏览
3

当尝试使用Stack构建现有项目时,我遇到了错误

bv not found
- Genesis requires >=0.3 && <0.4 && -any
- exp requires -any

stack init 期间 . 这些包都安装在沙箱中,来自hackage . 我'm almost sure Stack doesn't看看沙盒,但为什么't it find the packages from hackage? I' m也能够通过运行 cabal build 来构建 .

1 回答

  • 4

    堆栈最初并没有看Hackage . 它尝试仅使用Stackage快照中的包来构建项目(您可以在 stack.yamlresolver 字段中找到您正在使用的确切快照) . bv 似乎不在Stackage中(至少它不在latest LTS snapshot中) . 幸运的是,这个问题很容易解决:只需运行 stack solver --modify-stack-yaml 即可 . 这将标识所有非Stackage依赖项并将它们添加到 stack.yamlextra-deps 字段中 . 从那时起,这些依赖项将在项目的 .stack-work 子目录中的某处构建,其方式与cabal-install沙箱中的包非常相似 .

相关问题