4
我有一個我用Stack創建的舊項目。我想將我的項目移動到Stackage提供的最新LTS。如何使用Stack更新.cabal文件?
當我更改stack.yaml文件中的解析器時,問題在於.cabal文件中extra-deps中的版本仍舊用於舊LTS集。有沒有辦法使用Stack自動更新.cabal文件中的版本號?
我有一個我用Stack創建的舊項目。我想將我的項目移動到Stackage提供的最新LTS。如何使用Stack更新.cabal文件?
當我更改stack.yaml文件中的解析器時,問題在於.cabal文件中extra-deps中的版本仍舊用於舊LTS集。有沒有辦法使用Stack自動更新.cabal文件中的版本號?
您可以簡單地刪除cabal文件中build-depends
的(上限)(的一部分)。
當涉及到分發你的軟件包時,如果你使用了--pvp-bounds
標誌,堆棧可以自動添加依賴邊界。 stack sdist --pvp-bounds upper
,stack upload --pvp-bounds both
等
如果你使用Stack,你爲什麼在cabal文件中有版本號? (我自己是一個haskell newb,所以這是一個真正的問題,而不是批評) –
@ChrisMartin如果你想把一個項目打包成一個庫,它需要在cabal文件中有適當的依賴範圍。 – sclv
我認爲在.cabal文件中發佈一個帶有無限依賴的庫是很好的,只要你發佈了一個stack.yaml文件。如果你通過Stackage發佈你的包,構建服務器將繼續編譯你的項目並檢查錯誤。這很好。 (並不像你的依賴沒有自己的問題。) – hao