2015-07-10 143 views
10

我努力學習的陰謀,並已測試了幾個我自己的小項目,現在我要清除它們。如何完整刪除cabal安裝的軟件包?

基本上,如果我沒有​​工作,我的工作流程是:

  1. 運行cabal init
  2. 編輯src/Mylib.hs,然後編輯mylibname.cabal文件
  3. 運行cabal build
  4. 運行cabal repl和測試我的代碼
  5. 運行cabal install

現在,我看到了我自己的項目:

  1. 安裝到~/.ghc/package.conf.d

我可以在其他的Haskell源代碼編寫import Mylib註冊~/.cabal/lib/x86-64-linux-ghc-7.10.1

  • ,所以我覺得包已成功安裝。

    然後,我要卸載的包,因爲包本身就是毫無意義的實驗代碼。

    我讀this文章,誰說:

    沒有 「陰謀卸載」 命令。您只能註銷 封裝,GHC-PKG:

    ghc-pkg unregister 
    

    所以我跑

    ghc-pkg unregister mylibname 
    

    現在,似乎包在~/ghc/package.conf.d未註冊的,但是,仍然有編譯庫在~/.cabal/lib/x86-64-linux-ghc-7.10.1

    那麼,我該如何完全刪除我的項目,我可以只是rm -rf圖書館在~/.cabal

  • +1

    我不要認爲cabal很快就會收到卸載命令。 但是,您可以嘗試使用「堆棧」而不是使用沙箱的cabal,效果很好,並且幾乎不需要刪除單個包。實驗和特定於項目的軟件包始終安裝在本地項目目錄中,您可以簡單地運行'stack clean'以清除所有本地軟件包。 –

    回答

    2

    您可以自己從包目錄中刪除的文件。然而,沒有命令這樣做的原因是一般不保證其他地方不可能有任何聯繫,因此這種刪除可能會導致破壞。這就是說,還有一個工具,去和不刪除你,如果你真的它。

    http://hackage.haskell.org/package/cabal-uninstall

    而且還有多一點功能的工具,也可以讓你找出什麼包沒有反向DEPS,所以至少沒有其他突破:

    https://github.com/iquiw/cabal-delete