我想創建一個 Cabal 專案,可以在同一個專案中包含多個包。當我閱讀 Cabal檔案時,它說必須創建一個“cabal.project”檔案。該檔案是手動創建到專案根目錄中還是有創建它的命令?檔案說所有修改都應在“cabal.project.local”檔案中進行。這個檔案是如何創建的?這是否意味著要創建一個包含多個包的 cabal 專案,必須在同一個專案根目錄中有一個“cabal.project”檔案和一個“cabal.project.local”檔案?謝謝。
uj5u.com熱心網友回復:
不要想太多。一個cabal.project檔案主要只是列出一些你想作為一個單元一起構建的包,而不是從 Hackage 中提取它們。所以,是的,只需手動創建它。
檔案中“所有修改都應在“cabal.project.local”檔案中進行的意思是cabal.project應該指定構建專案始終需要什么(例如,根本不在 Hackage 上的包,但是直接或作為 Git 子模塊包含在您的 repo 中),而如果您只是進行一些調整(例如,通過實驗測驗需要更改的內容,以便您的包將使用您檢查過的某些 3rd-party 依賴項的新版本進行編譯在考慮提交拉取請求或將其分叉到您自己的倉庫之前在本地退出)那么這應該放在cabal.project.local檔案中。但老實說,您也可以進行更改cabal.project,然后根本不git add進行更改?。
IMO 使包面向未來的所有實際重要資訊都應駐留在packagename.cabal檔案和/或stack.yaml檔案中,而不是cabal.project.
?這里的危險在于,很容易意外地提交僅適用于已經 VCS 檔案的本地更改。我總是使用git add -p,以便在提交之前查看我添加的任何更改。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/434070.html
下一篇:獲取當前背景關系錯誤格式化函式
