我想了解如何使用stack and stackage.org . 当我第一次安装并使用它时,stackage.org处于LTS-3.8("resolver") . 从那以后,stackage.org现在有了LTS-3.11 .
首先,我想确认一下这意味着什么 . Stackage是一个包的存储库,对于特定的LTS版本(例如3.8),包已经过验证可以协同工作 . 所以LTS-3.8的包装一起工作,LTS-3.11的包也可以一起工作 . 继续 ...
当我运行 stack new projectname
时,堆栈告诉我:
Checking against build plan lts-3.8
Selected resolver: lts-3.8
这是否意味着该项目已设置为仅使用在LTS-3.8下验证的软件包和版本?
如果我现在想要开始一个新项目并希望在新项目中使用最新的LTS版本,我如何告诉堆栈默认执行此操作?
如果我想“升级”旧项目以使用新的LTS版本呢?
1 回答
究竟 . (如果您需要未包含在LTS 3.8集中的软件包,您可以通过
stack.yaml
的extra-deps
部分指定它们 . stack将从Hackage中获取它们并为您的项目单独安装它们,而不会影响LTS快照或其他项目 . )使用例如
stack new projectname --resolver=lts-3.11
为新项目设置解析程序 . 堆栈默认为您已经使用的最新LTS快照,因此一旦您拥有了最新LTS的项目,未来的新项目将会效仿 .更改
stack.yaml
文件中的resolver
字段 . 更改将在下次构建项目时生效 .