stack 1.6.5不使用cabal 2.0.0.1

时间:2018-04-03 10:30:58

标签: haskell cabal haskell-stack

我有1.6.5的堆栈但看到Cabal 2.0 required when using a nightly snapshot with stack中描述的错误。我知道问题已经在堆栈v 1.5.1中解决了,但我在1.6.5中看到了它:

Using resolver: lts-11.2

Warning: Installed version of cabal-install (2.0.0.1) is newer than stack has been tested with.  If you run into difficulties, consider downgrading.

Using compiler: ghc-8.2.2
Asking cabal to calculate a build plan...
Trying with packages from lts-11.2 and 3 external packages as hard constraints...
The following lines from cabal-install output could not be parsed: 
abstract-par-0.3.3 (via: monad-par-0.3.4.8 monad-par-extras-0.3.3) (new
package)
base-compat-0.9.3 (via: criterion-1.3.0.0 criterion-1.3.0.0 aeson-pretty-0.8.5

aeson-1.2.4.0 quickcheck-instances-0.3.18) (new package)

堆栈升级给出:

frank@oporto:~/Workspace8/LitTextWork/LitText$ stack upgrade
Current Stack version: 1.6.5, available download version: 1.6.5
Skipping binary upgrade, you are already running the most recent version

我认为输出是无害的,但在这个版本中应该被绕过?我该如何降级阴谋集团?推荐的最后一个cabal版本是什么?

1 个答案:

答案 0 :(得分:2)

堆栈问题#3453#3799表明这是Stack中的已知错误。在修复它之前,临时解决方法suggested in a comment to #3453正在使用stack --resolver lts-9 install cabal-install来安装 cabal-install 1.24.0.2(可执行文件,而不是库)。

注意事项:

  • 解决方法假定Stack使用的本地安装路径(参见stack path --local-bin告诉您的内容)优先于全局安装的 cabal-install 的路径{{ 1}}环境变量,或者如果您没有全局安装的 cabal-install (例如,如果您没有使用Haskell平台)。

  • As hvr points out,就Cabal和GHC而言,这是官方支持的,如果来自较新 cabal-install 版本的功能变得更糟,您可能会遇到更多问题通过Stack使用求解器时必须使用。

  • 如果您需要或想要拥有最新的 cabal-install ,只需使用PATH - 这将使用您正在使用的解析器执行此操作别处。 (如果您有一个全局安装的 cabal-install 并希望重新使用它,您只需从stack install cabal-install指示的位置删除堆栈安装的那个。)