【问题标题】:ghc-mod: After update, `cannot satisfy -package-id base-4.8.2.0`ghc-mod:更新后,`不能满足-package-id base-4.8.2.0`
【发布时间】:2015-11-20 00:32:03
【问题描述】:

因此,Ubuntu 中的 apt-get 更新将我的 GHC 版本从 this repository 更新为 7.10.3。

在这次更新之后,一切都崩溃了,所以我从同一个存储库切换到 7.10.2。

现在几乎所有东西都在工作,除了 ghc-mod,它在运行时会在我尝试检查我的项目时出现以下错误:

ghc-mod: <command line>: cannot satisfy -package-id base-4.8.2.0-9bb65294401b6ef629a229811a1f4249
    (use -v for more information)

当我在我的项目上运行 cabal-install 时,我没有收到任何依赖错误。

什么可能导致这个问题? GHC-mod 中是否有需要更改的设置或需要指定的路径?

我可以提供更多信息,但我不知道从哪里开始出现此错误。

.cabal 文件中的 build-depends 部分如下所示:

  build-depends:       base >=4.8 && <4.9
                       , mtl
                       , parsec
                       , pretty
                       , readline

就像我说的,这些依赖项都安装得很好。

【问题讨论】:

  • 你自己编译了ghc-mod 吗? ghc-mod --version的输出是什么
  • 您发现问题所在了吗?我想我和 7.10.3 有相同的 pb
  • 似乎是 7.10.3 中的一个问题:github.com/DanielG/ghc-mod/issues/607
  • 抱歉,我不记得具体是如何解决这个问题的了……我想我刚开始了一个新的沙盒,它可以工作吗?

标签: haskell ghc ghc-mod


【解决方案1】:

似乎在rm -rf .stack-work 帮助后重新启动了 ghc-mod 进程;出于某种原因,stack clean 似乎不够“强大”——ghc-mod 在何时清理和重建方面并不是特别聪明——希望不是这样,但确实如此。


或者,您的ghc-mod 可能需要使用正在使用的任何 GHC 版本重新编译;如果您安装了多个版本的 GHC 并且需要 ghc-mod 来获取特定版本,请将 -w path/to/ghc 传递给 cabal install,例如在我的情况下,我在全球范围内拥有 8.0.1,但需要 ghc-mod 和 7.10.3,其中 @ 987654329@已经在.stack/programs下为我安装好了:

~/my-sandboxes/ghc-mod-7.10.3 $ cabal install -w ~/.stack/programs/x86_64-osx/ghc-7.10.3/bin/ghc ghc-mod

否则,一个简单的cabal install ghc-mod 应该可以。

【讨论】:

  • 这可能是一个解决方案,但我最初遇到这个时并没有使用堆栈。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多