如何获取给定 Cabal 项目中未使用的依赖包?
在 cabal install
过程中,如果项目依赖中提到的某个包没有使用,有没有一种方法可以获得类似警告的提示,以便将其从依赖项中删除?
有一些选项:
-Wunused-packages
),会发出警告。由于 Cabal 准备了包数据库,因此任何不必要的包都是未使用的依赖项。不幸的是,GHC 8.8 被排除在外。
P. S. 最近发布了一个名为 prune-juice
的程序,应该也适用于 GHC 8.8。
cabal-progdeps 是一个在构建 cabal 项目之后列出其依赖项的工具。
你可以通过将未使用的依赖项添加到项目中来检查它们是否都被使用。
它需要与 cabal-install 使用的相同版本的 Cabal 库,否则会出现解析 dist/setup-config 时的错误。
cabal-progdeps
包有点过时,因为它对filepath
和directory
设置了上限。 - ДМИТРИЙ МАЛИКОВ还有另一个工具:
https://github.com/ndmitchell/weeder https://hackage.haskell.org/package/weeder
它尚未在Stackage上。
cabal
目前还没有准备好。这肯定是一个有用的功能。 - Daniel Fischercabal install
中可能并不切实际。 - Carl