簡體   English   中英

是否可以為haskell腳本指定`stack.yaml`文件?

[英]Is it possible to specify a `stack.yaml` file for a haskell script?

假設我的haskell項目目錄中有以下腳本:

#!/usr/bin/env stack
-- stack --resolver lts-12.5 script

-- some imports here

main :: IO ()
main = do
  -- some code here

我想使用項目目錄中存在的stack.yaml文件,以獲取所需的包,因為我想從特定的git提交而不是lts-12.5獲取它們。

我嘗試在--resolver lts-12.5之后添加--stack-yaml stack.yaml但是當我運行腳本時我收到此警告: Ignoring override stack.yaml file for script command: stack.yaml

是否可以將我的stack.yaml文件用於腳本? 或者是否可以指定我想從中獲取包的git提交(比如在stack.yaml使用commitgit location )?

您可以使用自定義快照文件實現此目的。 例如,在snapshot.yaml

resolver: ghc-8.4.3
name: has-acme-missiles
packages:
- acme-missiles-0.3

Main.hs

#!/usr/bin/env stack
-- stack --resolver snapshot.yaml script
import Acme.Missiles

main :: IO ()
main = launchMissiles

結果是:

$ ./Main.hs 
Nuclear launch detected.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM