7
當我做cabal --version
我看到:Cabal庫vs cabal-install。有什麼不同?
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library
有啥區別?我以爲,當我做cabal build
我只使用一個程序。爲什麼它分成兩個不同版本的獨立程序?
當我做cabal --version
我看到:Cabal庫vs cabal-install。有什麼不同?
cabal-install version 0.14.0
using version 1.14.0 of the Cabal library
有啥區別?我以爲,當我做cabal build
我只使用一個程序。爲什麼它分成兩個不同版本的獨立程序?
Cabal
庫定義瞭如何解析和結構化包描述,並描述了構建和安裝包的部分過程。 cabal-install
包定義了cabal
應用。它使用庫來有效地理解包描述是什麼。
這是軟件的常見結構:在庫中實現所有純粹的和可重用的業務邏輯(Cabal
庫完成與包描述完全相關的大部分工作,但不是全部),並實現所有用戶界面東西和其他'細節'在使用該庫的應用程序中(cabal-install
包定義了CLI工具,並實現了從Hackage獲取包的細節)。