首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >理解Haskell的堆栈程序以及解析器和LTS版本

理解Haskell的堆栈程序以及解析器和LTS版本
EN

Stack Overflow用户
提问于 2015-10-31 00:00:46
回答 1查看 7K关注 0票数 30

我正在努力理解如何使用stack and stackage.org。当我第一次安装和使用它时,stackage.org位于LTS-3.8 (“解析器”)。从那以后,stackage.org现在拥有LTS-3.11。

首先,我想确认一下这意味着什么。堆栈是包的存储库,在其中,对于特定的LTS版本(例如3.8),已经验证包可以一起工作。所以LTS-3.8的包一起工作,LTS-3.11的包也一起工作。继续前进..。

当我运行stack new projectname时,堆栈告诉我:

代码语言:javascript
复制
Checking against build plan lts-3.8
Selected resolver: lts-3.8

这是否意味着该项目已被设置为只使用在LTS-3.8下验证的包和版本?

如果我现在想要启动一个新项目,并希望在新项目中使用最新的LTS版本,那么默认情况下如何告诉堆栈这样做呢?

如果我想“升级”一个旧的项目来使用一个新的LTS版本呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-31 02:23:12

这是否意味着该项目已被设置为只使用在LTS-3.8下验证的包和版本?

一点儿没错。(如果您需要没有包含在LTS3.8集中的包,您可以通过stack.yamlstack.yaml部分指定它们。堆栈将从Hackage抓取它们,并为您的项目分别安装它们,而不会影响LTS快照或其他项目。)

如果我现在想要启动一个新项目,并希望在新项目中使用最新的LTS版本,那么默认情况下如何告诉堆栈这样做呢?

使用例如stack new projectname --resolver=lts-3.11设置新项目的解析器。堆栈默认为您已经使用的最近的LTS快照,因此,一旦您有了一个具有最新LTS的项目,未来的新项目也会跟着做。

如果我想“升级”一个旧的项目来使用一个新的LTS版本呢?

更改resolver文件中的stack.yaml字段。更改将在下次构建项目时生效。

票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33446558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档