Haskell stack 和全局 ghc

4

是否可以在已安装ghc的情况下使用stack,而不需要stack安装本地副本的ghccabal


3
这个问题在stack FAQ中有涉及。 - Shaun the Sheep
为了增加可见性:您需要的选项是 --system-ghc - Petr
1个回答

4

是的。如果PATH中的ghc版本与所选快照的版本匹配,stack将会愉快地使用它。

% ghc --version
The Glorious Glasgow Haskell Compilation System, version 7.8.4

% stack --resolver=lts-2.22 install packdeps
Run from outside a project, using implicit global project config
Using resolver: lts-2.22 specified on command line
packdeps-0.4.1: unregistering
packdeps-0.4.2: download
...

% stack --resolver=nightly-2015-12-25 install packdeps
Run from outside a project, using implicit global project config
Using resolver: nightly-2015-12-25 specified on command line
Compiler version mismatched, found ghc-7.8.4 (x86_64), but expected minor version match with ghc-7.10.3 (x86_64) (based on resolver setting in /Users/phadej/.stack/global/stack.yaml).
Try running "stack setup" to install the correct GHC into /Users/phadej/.stack/programs/x86_64-osx/

您也可以跳过ghc检查--skip-ghc-check:
% stack --resolver=nightly-2015-12-25 --skip-ghc-check install packdeps
Run from outside a project, using implicit global project config
Using resolver: nightly-2015-12-25 specified on command line
split-0.2.2: configure
...

但这可能是一个不好的想法


我相信默认情况下,即使其版本与项目的resolver设置匹配,stack也不会使用全局GHC安装。但是这是可能的- Shaun the Sheep的评论指向了解释可用选项的文档。 - GreenhouseVeg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接