为什么堆栈重写我的.cabal文件并丢弃我的编辑以添加新的依赖性



堆栈突然表现不佳。我创建了一个新项目,写了一些代码,需要一个新的依赖项(容器,以获取data.map.strict),因此我编辑了我的项目.cabal文件以添加依赖项,现在堆栈正在重写我的.cabal文件以扔掉我的编辑(这使得构建失败)。

我错过了什么愚蠢的简单事物?

(我承诺要git并重新开始。)

rm -fr Problem032
stack new Problem032
cd Problem032
stack setup
stack build
stack exec Problem032-exe

都可以正常工作。但是...

vi Problem032.cabal 

将",容器"添加到lib构建依赖

cd src
git checkout -- Lib.hs

将我的旧代码退回

cd ..
stack build

导致我的.cabal文件被重写(丢失了新的依赖项),然后构建失败。

这是因为默认的堆栈模板现在使用HPACK进行软件包描述。您可以删除软件包。YAML或将其编辑。刚刚发布的堆栈1.6.1在这种情况下具有更好的行为。

最新更新