我想將我的 cabal 專案的所有依賴項下載到我的專案目錄/存盤庫中,并強制 cabal 永遠不要使用 ~/.cabal/ 并且永遠不要從 Internet 下載任何新的依賴項。下載的庫應該是系統獨立的(不包括本地路徑等)。這可能嗎?
這背后的想法是將專案目錄復制到另一個(離線)系統,其中安裝了相同的 ghc,它應該可以開箱即用。
uj5u.com熱心網友回復:
根據cabal docs,您可以active-repositories: none在您的cabal.projector cabal 檔案中設定以將 cabal-install 置于離線模式。
然后,您可以創建一個cabal 專案并嘗試使所有不與 GHC 本身捆綁在一起的依賴項成為本地包。將它們克隆到您的專案檔案夾中并將它們添加packages:到cabal.project.
上面的問題是運行后cabal clean需要重新編譯所有包。
作為替代方案,在您的離線機器上創建一個本地無索引包存盤庫,使用 將其設定為唯一可用的包存盤庫active-repositories:,然后將所有依賴項的sdist tarball放在那里。
這樣,依賴項只會被編譯一次。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/423021.html
標籤:
