我一直在尝试构建并运行需要访问ghc
包的应用程序,但我无法通过stack
公开它。
我知道这应该是一个简单的标志-package ghc
但是如何用堆栈做到这一点?
我试过这个:
stack exec Engine-exe --package ghc-7.10.3 -- core
我明白了:
Didn't see ghc-7.10.3 in your package indices.
Updating and trying again.
Fetching package index ...remote: Counting objects: 1, done.
remote: Total 1 (delta 0), reused 1 (delta 0), pack-reused 0
Unpacking objects: 100% (1/1), done.
Fetched package index.
The following package identifiers were not found in your indices: ghc-7.10.3
Perhaps you meant gc, ghci, ght, or lhc?
我还尝试将其构建为:stack build --ghc-options -package ghc
并获得相同的结果。
答案 0 :(得分:2)
如果您的应用需要针对ghc
进行构建,请将其添加到您的cabal文件中的build-depends
。如果您的应用程序需要运行ghc可执行文件,那么它将在stack exec
内显示。
因此,如果您的项目使用的是ghc-7.10.3,那么正确的ghc版本应该在PATH上。
如果您希望stack exec
使用与配置不同的解析程序或编译器,请执行stack --resolver lts-6.0
或stack exec --compiler ghc-7.10.3
答案 1 :(得分:0)
我忘了这件事!
供将来参考。
最后,我所要做的只是ghc-pkg expose ghc
。