无法在IntelliJ中使用PlantUML渲染组件图

58

我正在尝试使用IntelliJ的PlantUML插件创建组件图。

我已经安装了插件并且之前也曾使用过。但是,当我尝试渲染一个组件图时,出现了一个错误:

找不到Graphviz

输入图像描述

我还检查了其他图表,顺序图仍然工作得很好。

输入图像描述

问题在哪里?


1
插件问题跟踪器上有相关问题:https://github.com/esteinberg/plantuml4idea/issues/200 - y.bedrov
它看起来完全一样,但我不知道他是如何解决这个问题的。也许我需要重新安装Grapgviz?我该怎么做? - Yedidya kfir
7个回答

70

如果在Mac上使用Intellij,当Intellij找不到graphviz时,testdot无法工作,而graphviz是通过brew install graphviz安装的:

  1. 在Intellij中,单击包含Plantuml视图和编辑器布局的菜单面板最右侧的扳手图标。
  2. 单击“打开设置”。
  3. 对于“Graphviz dot可执行文件”,添加/opt/homebrew/bin/dot
  4. 单击“确定”并重新启动Intellij。

这为我解决了这个问题。

您可以先检查确实缺少/opt/local/bin/dot(或者您看到的任何损坏路径),而/opt/homebrew/bin/dot存在,但很可能原因是brew将dot放在其自己的路径下。


2
这适用于PlantUML预览。谢谢!有没有从Markdown预览的解决方法? - mochadwi
2
看起来brew会将所有东西安装在/usr/local/bin下面,所以路径将是/usr/local/bin/dot - woj.sierak
2
你是一个救星。 - Shivansh Narayan
3
要从捆绑的 Markdown 预览,请创建一个符号链接从 /usr/local/bin/dot 到 homebrew 安装的 graphviz dot 可执行文件所在的位置(可以通过在终端上运行 which dot 命令来找到)。请注意,不要改变原文的意思。 - collo
1
如果OP是Mac用户,那么这应该被接受为答案。 - Safa Kadir

38

序列图和活动图可以直接使用。

对于其他类型的图,需要安装 Graphviz (版本 > 2.26.3)。

  1. 如果没有安装 Graphviz - 只需安装即可。
  2. 如果已经安装但版本不正确 - 重新安装。
  3. 如果已经安装了正确版本但位置与默认位置不同 - 指向该位置。您可以通过指定包含指向 Graphviz 可执行文件的路径的环境变量GRAPHVIZ_DOT或直接从IntelliJ的PlantUML插件设置中指定来管理它。

在这里,您可以阅读有关如何安装 Graphviz 以配合 PlantUML 的更多信息。

顺便说一句,我通过在控制台中键入sudo apt-get install graphviz来解决相同的问题 - 也许对您也管用。


6
我只是通过在我的 Mac 上安装 brew install graphviz 并重新启动 IntelliJ 来解决了这个问题。谢谢。 - dud3rino

30
根据 https://plantuml.com/graphviz-dot 所述, 自版本1.2021.5开始,如果您为受支持的类型的图表添加!pragma layout smetana,则可以实验性地在不安装Graphviz的情况下使用PlantUML。 在这种情况下,将使用“Smetana”引擎而不是Graphviz。因此,这对我有效;
@startuml
!pragma layout smetana
...
@enduml

希望对你有所帮助!


8
如果你:
1.已经安装了Graphviz
2.已经将GRAPHVIZ_DOT环境变量配置为你的dot.exe文件路径(例如D:\Program Files (x86)\Graphviz2.38\bin\dot.exe),
但仍然出现相同的错误:“无法找到Graphviz1”。那么你可能需要在Intelij设置中配置dot.exe的路径
请按照此教程操作。

3

如果有帮助的话,以下是解决Eclipse编辑器中出现错误(无法找到GraphViz...)的步骤:

  1. 在您的系统上安装GraphViz。根据您的系统,安装说明在这里:https://graphviz.org/download/。对于Mac(v11.6)用户,只需输入brew install graphviz即可。

  2. 安装完成后,添加一个环境变量:GRAPHVIZ_DOT,指向dot可执行文件的路径。在我的计算机上,我添加了这个:

    export GRAPHVIZ_DOT=/opt/homebrew/bin/dot

  3. dot可执行文件的路径添加到Eclipse PlantUml首选项中(首选项 --> Plant UML --> Graph Viz dot可执行文件的路径),如下图所示:

enter image description here


2
  1. 首先安装graphviz

  2. 找到dot可执行文件并将其放置在IntelliJ能够找到的位置

    • Windows: 在环境变量路径设置中添加dot可执行文件路径
    • Linux: 使用where dot查找dot的位置,如果不在/opt/local/bin中,可以通过运行ln -s /usr/local/bin/dot /opt/local/bin/dot创建一个符号链接,比如说在/usr/local/bin中。
  3. 重启IntelliJ


0

我也遇到了问题...最简单的方法是安装VsCode插件“Markdown Preview Enhanced”,然后...神奇地...IntelliJ也可以正常工作!!!


安装另一个IDE(VsCode)来修复您已经拥有的那个远非__最简单的方法__。插件最可能会安装必要的依赖项,因为它支持导入.dot或.puml文件到您的Markdown中-所以这并没有什么__神奇__的地方。 - Jakub Ch.
2
每个有点自尊心的开发者都应该安装VsCode和IntelliJ。- 为什么?那只是你的观点,我强烈不同意这种说法。这只是充满仇恨的言论而已。 - Jakub Ch.
我的观点是,你的回答不应该暗示你的方法是“最简单的”,因为这是非常主观的。这个问题仅涉及PlantUML和IntelliJ,所以对于那些不熟悉VsCode的人来说,你的方法只是“一种方法”,不一定是最简单的。 - Jakub Ch.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接