cabal可以警告依赖关系中未使用的包吗?

ДМИ*_*КОВ 21 haskell cabal

对于给定的cabal项目,如何检索未使用的依赖包?

cabal install如果在项目依赖项中提到了一个包并且没有任何用法,那么有没有办法在进程中获得类似警告的内容,那么它是否可以从依赖项中删除?

Ign*_*rov 8

有一些选项:

\n
    \n
  • 对于 GHC 8.6 及更早版本,Neil Mitchell 的 Weeder 版本 1可以找到未使用的依赖项。
  • \n
  • 对于 GHC 8.10 及更高版本,当在包数据库中看到不必要的包时,GHC 可能会发出警告(使用 GHC 选项-Wunused-packages)。\xe2\x80\x82由于 Cabal 准备了包数据库,因此任何不必要的包都是未使用的依赖项。
  • \n
\n

不幸的是,GHC 8.8 被排除在外。

\n

P.\xe2\x80\xafS。\xe2\x80\x82 最近发布了一个名为prune-juice它也适用于 GHC 8.8。

\n


Lam*_*aal 7

我认为程序打包是您正在寻找的.


Gab*_*iba 2

cabal-progdeps在 cabal 项目构建后列出依赖项。

您可以通过将未使用的添加到项目中来检查它们是否已全部使用。

它需要与 cabal-install 中使用的 Cabal 库版本相同,否则解析 dist/setup-config 时会出错。