有没有一种方法可以生成(和查看)我Haskell项目的模块依赖树?我已经看过了这些图像,但无法弄清楚如何做到这一点。
stack
生成依赖图的GraphViz dot文件:stack <strong>dot</strong> --external
--external
标志表示它将包括未在您的堆栈项目中定义的依赖项。例如,您可以使用I/O重定向将其写入文件中:stack dot --external <strong>> deps.dot</strong>
然后使用dot
作为工具将其转换为图像,例如:
dot -Tpng deps.dot -odeps.png
您还可以使用-Tsvg
,-Tgif
等选项选择其他图像格式。
更多信息请参见文档中的依赖关系可视化部分。
cabal install graphmod
在您的项目中:
~/.cabal/bin/graphmod | dot -Tpng > modules.png
你可以通过 ~/.cabal/bin/graphmod --help
查看更多选项,使用dot选项更改输出格式,并在这里查看示例。
stack dot --external
命令。 - Willem Van Onsem