如何创建"cabal.project"文件?



我想创建一个Cabal项目,该项目可以在同一项目中包含多个包。当我阅读Cabal文档时,它说一个人必须创建一个";阴谋集团项目;文件这个文件是手动创建到项目根目录中的,还是有创建它的命令?文件说,所有的修改都应在";阴谋集团项目本地;文件这个文件是如何创建的?这是否意味着要创建一个具有多个包的阴谋集团项目;阴谋集团项目;文件和一个";阴谋集团项目本地;文件在同一项目根目录中?谢谢

不要想太多。cabal.project文件主要只是列出一些要作为一个单元构建在一起的包,而不是从Hackage中提取它们。所以,是的,只需手动创建即可。

文件所说的"所有修改都应在";阴谋集团项目本地;文件"是cabal.project应该指定构建项目所需的(例如,根本不在Hackage上,但直接或作为Git子模块包含在您的repo中的包(,而如果你只是做了一些调整(例如,实验性地测试需要更改的内容,以便你的包将使用某个第三方依赖项的新版本进行编译,在考虑提交pull请求或将其分叉到你自己的repo之前,你已经在本地签出了该依赖项(,那么这应该在cabal.project.local文件中。但老实说,你也可以在cabal.project中进行更改,然后简单地不在git add中进行更改

IMO使包具有未来证明的所有实际重要信息都应存在于packagename.cabal文件和/或stack.yaml文件中,而不是cabal.project中。


这里的危险在于,很容易意外地提交仅用于本地VCS文件的更改。我总是使用git add -p,以便在提交之前查看我添加的任何更改

最新更新