如何完全删除cabal安装的软件包?

时间:2015-07-10 03:35:46

标签: haskell cabal

我正在尝试学习阴谋,并测试了几个我自己的小项目,现在我想要清理它们。

基本上,如果我在没有sandbox的情况下工作,我的工作流程是:

  1. 运行cabal init
  2. 修改src/Mylib.hs,然后修改mylibname.cabal文件
  3. 运行cabal build
  4. 运行cabal repl并测试我的代码
  5. 运行cabal install
  6. 现在,我看到了自己的项目:

    1. 已安装到~/.cabal/lib/x86-64-linux-ghc-7.10.1
    2. 已在~/.ghc/package.conf.d
    3. 注册

      我可以在我的其他haskell源代码中编写import Mylib,所以我认为该软件包已成功安装。

      然后我想卸载软件包,因为软件包本身只是无意义的实验代码。

      我读过this文章,他说:

        

      没有" cabal卸载"命令。您只能取消注册   包含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中的android update sdk --no-ui --all --filter "extra-google-m2repository"库吗?

1 个答案:

答案 0 :(得分:4)

您可以自己从packages目录中删除文件。但是,没有提供命令的原因是,通常不保证某些东西可能没有在其他地方与它们相关联,因此这样的删除可能导致破坏。也就是说,如果你真的想要它,还有一个可以删除的工具。

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

还有一个具有更多功能的工具,可以让你弄清楚哪些包没有反向deps,所以至少没有其他打破:

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