需要一种方法来确定与给定快照相关联的ghc版本,而无需下载ghc。
我可以运行此命令来获取信息,但不幸的是,它在打印出版本之前首先下载了ghc:
stack query compiler wanted
我需要这个,因为我正在优化CI构建并且有一种获取ghc版本的方法允许我将其用作检索适当构建缓存的密钥。试图查询此信息触发下载的事实破坏了我尝试的任何优化。
答案 0 :(得分:0)
@mgsloan给了我足够的信息来整理解决方案,可以在这里找到:
https://github.com/haskell-works/hw-dsv/blob/master/scripts/ghc-version
答案 1 :(得分:0)
不理想但可以解析
的stdout或stderrstack --resolver SNAPSHOT --no-install-ghc query
或 stack --resolver SNAPSHOT --no-install-ghc path --compiler-exe
。
或者这里是一个使用 pantry 获取信息的小程序:
import Pantry
main :: IO ()
main = do
rsnap <-
runPantryApp $ do
let rurl = defaultSnapshotLocation (LTS 18 0)
url <- completeSnapshotLocation rurl
loadSnapshot url
print $ rsCompiler rsnap