簡體   English   中英

了解Haskell的堆棧程序以及解析器和LTS版本

[英]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.yamlextra-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.

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