Haskell堆栈:安装的包不可见

Haskell Stack: installed packages are not visible

我用 stack install 安装了包,但我无法导入包,除非我使用 stack ghcstack ghci ...

问题是我已经安装了 atom haskell ide,它使用 ghc-mod 后端,它也没有看到堆栈安装的包!

您需要确保您有一个 ghc-mod 是最新的并且由与您的项目使用的相同版本的 ghc 构建。通过使用堆栈安装(使用与您的项目相同的解析器)来执行此操作。例如

$ stack install --resolver lts-6.11 ghc-mod
$ which ghc-mod
/Users/steshaw/.local/bin/ghc-mod
$ ghc-mod --version
ghc-mod version 5.5.0.0 compiled by GHC 7.10.3

要对此进行测试,也许可以使用 stack new.

设置示例项目
$ stack new example
$ cd example

更改 example.cabal 以包括 example-exeHTTP 包。

例如

executable example-exe
  hs-source-dirs:      app
  main-is:             Main.hs
  ghc-options:         -threaded -rtsopts -with-rtsopts=-N
  build-depends:       base
                     , example
                     , HTTP
  default-language:    Haskell2010

使用 stack 构建以安装 HTTP 包。

$ stack build

现在启动 Atom。

$ atom .

您应该会发现从 HTTP 导入的内容在 Atom 中是可见的。