堆栈安装“计划构建失败”,但为什么呢?怎么修?

时间:2019-07-04 21:26:52

标签: haskell-stack

$ stack install megaparsec-7.0.5

Error: While constructing the build plan, the following exceptions were encountered:

In the dependencies for megaparsec-7.0.5:
    parser-combinators-0.1.0 from stack configuration does not match >=1.0 && <2.0 (latest matching version is 1.1.0)
needed since megaparsec is a build target.

Some potential ways to resolve this:

  * Recommended action: try adding the following to your extra-deps in /Users/anentropic/.stack/global-project/stack.yaml:

- parser-combinators-1.1.0

  * Set 'allow-newer: true' to ignore all version constraints and build anyway.

  * You may also want to try using the 'stack solver' command.

Plan construction failed.

与我同在,我是Haskell的新手,来自Python。

此错误的措辞及其提出的建议似乎不太有用。

如果我要猜测这里出了什么问题,我思考,当它提示parser-combinators-0.1.0 from stack configuration是我的环境中已经安装了该版本时,这是什么意思? megaparsec-7.0.5要求的版本是>=1.0 && <2.0

我真的不认为将parser-combinators-1.1.0添加到我的全局stack.yaml extra-deps是我想要的解决方案。这似乎不是正确的解决方案。但是也许我错了。

我真正想做的是将过时的依赖版本升级为megaparsec-7.0.5想要的较新版本。 (我以前安装了megaparsec的旧版本。)

在cli stack install命令上检查帮助似乎有大约一百种不同的选项,其中一些涉及熏制鱼,但是显然没有一个选项允许我在安装megaparsec时更新依赖项。

也许我应该先卸载过时的软件包?

但是stack uninstall帮助说:

  

已弃用:此命令不执行任何操作,仅用于文档编制

所以...如何手动卸载软件包?

stack是正确的工具,还是Haskell社区具有更好的选择?

0 个答案:

没有答案