[英]Understanding Haskell's stack program and the resolver and LTS version
我想了解如何使用stack和stackage.org 。 當我第一次安裝並使用它時,stackage.org是在LTS-3.8(“解析器”)。 從那以后,stackage.org現在有了LTS-3.11。
首先,我想確認一下這意味着什么。 Stackage是一個包的存儲庫,對於特定的LTS版本(例如3.8),包已經被驗證可以一起工作。 所以LTS-3.8的包裝一起工作,LTS-3.11的包裝也可以一起工作。 繼續 ...
當我運行stack new projectname
,stack告訴我:
Checking against build plan lts-3.8
Selected resolver: lts-3.8
這是否意味着該項目已設置為僅使用在LTS-3.8下驗證的軟件包和版本?
如果我現在想要啟動一個新項目並希望在新項目中使用最新的LTS版本,我如何告訴堆棧默認執行此操作?
如果我想“升級”舊項目以使用新的LTS版本呢?
這是否意味着該項目已設置為僅使用在LTS-3.8下驗證的軟件包和版本?
究竟。 (如果您需要未包含在LTS 3.8集中的軟件包,您可以通過stack.yaml
的extra-deps
部分指定它們stack.yaml
將從Hackage中獲取它們並為您的項目單獨安裝它們,而不會影響LTS快照或您的其他項目。)
如果我現在想要啟動一個新項目並希望在新項目中使用最新的LTS版本,我如何告訴堆棧默認執行此操作?
使用例如stack new projectname --resolver=lts-3.11
來設置新項目的解析器。 堆棧默認為您已經使用的最新LTS快照,因此一旦您擁有了具有最新LTS的項目,未來的新項目將會效仿。
如果我想“升級”舊項目以使用新的LTS版本呢?
更改stack.yaml
文件中的resolver
字段。 更改將在下次構建項目時生效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.