使用堆栈ghc作为ghc的替换
问题描述:
不使用堆栈或cabal而分发的软件包通常具有一组隐含的依赖关系。这有时意味着如果没有将软件包安装到ghcs全局包数据库中,直接在所述包上运行ghc将不起作用。使用堆栈ghc作为ghc的替换
我想用stack ghc
作为替代ghc
为此我已经定义了我的贝壳init文件如下:
export PATH="`stack path --compiler-bin`:$PATH"
现在命令ghc
将使用堆栈的GHC - 它不不过和stack ghc
一样。首先,它不会加载作为可以用下面的命令可以看出,“快照”和“全球项目”包数据库:
$ ghc -v
Glasgow Haskell Compiler, Version 8.0.1, stage 2 booted by GHC version 7.10.3
Using binary package database: ~/.stack/programs/x86_64-linux/ghc-nopie-8.0.1/lib/ghc-8.0.1/package.conf.d/package.cache
...
$ stack ghc -- -v
Glasgow Haskell Compiler, Version 8.0.1, stage 2 booted by GHC version 7.10.3
Using binary package database: ~/.stack/programs/x86_64-linux/ghc-nopie-8.0.1/lib/ghc-8.0.1/package.conf.d/package.cache
Using binary package database: ~/.stack/snapshots/x86_64-linux-nopie/lts-7.9/8.0.1/pkgdb/package.cache
Using binary package database: ~/.stack/global-project/.stack-work/install/x86_64-linux-nopie/lts-7.9/8.0.1/pkgdb/package.cache
...
有没有人对如何使用stack ghc
为ghc
的替代来实现指导。
我现在使用的用例是我给了一个指向ghc
的make-file,但我的机器上没有这个命令。
答
如果您在stack exec
内执行makefile,它将设置GHC_PACKAGE_PATH环境变量。它也将适当地扩展PATH
。
另外,有这一套在你的shell你可以做
export GHC_PACKAGE_PATH=`stack path --ghc-package-path`