2017-04-17 58 views

回答

5

我想知道在.cabal文件中指定包版本是否有意義。

完全取決於你。如果您指定的包版本號爲 不在該特定的堆棧解析器中,則Stack將 拋出一個錯誤,指出您要調整版本控制。

我的猜測是在stack.yaml中指定lts版本就足夠了。

對於私人包裹,它並不重要,我不喜歡把任何版本的邊界放在那裏。但是如果我最終打算在Hackage上發佈,我通常會使用CI system like Travis,並通過一些測試來獲得正確的界限。事實上,我認爲堆棧指南推薦了這樣的東西。

+0

我正在檢討這一近一年後,的確如此。發佈軟件包時需要'cabal'(或'hpack'?)文件的上下限,以便PVP對每個要發佈的軟件包的每個依賴項都要求上限和下限。 –

+0

@DamianNadales不,不需要。 PVP的立場是有爭議的,在不同的民族之間有不同的意見。 – Sibi

+0

但[關於如何上傳一個包到hackage的說明](https://hackage.haskell.org/upload)是指PVP說「所有包都應遵循Haskell的包版本策略(PVP)」。這是否意味着軟件包作者不一定遵循該頁面上的說明? –

相關問題