$ 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社区具有更好的选择?