54

I am trying to create a component diagram using the PlantUML plugin for IntelliJ. I have installed the plugin and worked with it before. However, when I try to render a component diagram, I get an error:

Cannot find Graphviz

enter image description here

I've also checked with other diagrams and a sequence diagram is still working just fine.

enter image description here

What is the problem here?

Pang
  • 9,564
  • 146
  • 81
  • 122
Yedidya kfir
  • 1,419
  • 3
  • 17
  • 32
  • 1
    There is related issue on plugin issue tracker: https://github.com/esteinberg/plantuml4idea/issues/200 – y.bedrov Jan 29 '19 at 10:12
  • it looks exactly the same but I dont see how he solve the problem. Maybe I need to reinstall Grapgviz? how can I do it? – Yedidya kfir Jan 29 '19 at 17:41

7 Answers7

64

On a mac using Intellij, if Intellij cannot find graphviz, testdot doesn't work and graphviz was installed with brew install graphviz:

  1. In Intellij, click the wrench icon on the far right of the menu panel that contains the plantuml view and editor arrangement.
  2. Click 'Open settings'
  3. For 'Graphviz dot executable' add /opt/homebrew/bin/dot.
  4. Click OK and restart Intellij.

This fixes the issue for me.

You can check first that you really are missing the /opt/local/bin/dot (or whatever path you're shown is broken) and the /opt/homebrew/bin/dot exists, but likely the reason is that brew put dot under its own path.

Tanel
  • 1,080
  • 9
  • 16
37

Sequence diagrams and activity diagrams work out of the box.

For other types of diagrams, you need to have Graphviz installed (version > 2.26.3).

  1. If you don't have Graphviz installed - just install it.
  2. If you have it installed but its version is improper - reinstall it.
  3. If you have it installed in proper version but location is other than default - point to that location. You can manage that either by specifying env variable GRAPHVIZ_DOT containing a path to Graphviz executable or pointing it out directly from IntelliJ's PlantUML plugin settings.

Here, you can read more on how to install Graphviz to get along with PlantUML.

Btw. I solved the same problem by simply typing sudo apt-get install graphviz in my console - maybe would work for you as well.

Pang
  • 9,564
  • 146
  • 81
  • 122
Jakub Ch.
  • 3,577
  • 3
  • 24
  • 43
24

As mentioned here https://plantuml.com/graphviz-dot

Since version 1.2021.5, you can experimentally use PlantUML without installing Graphviz if you add !pragma layout smetana to your diagrams for the supported types. In that case, the "Smetana" engine is used instead of Graphviz

Therefore this worked for me;

@startuml
!pragma layout smetana
...
@enduml

I hope it helps!

Jimmy_Rw
  • 981
  • 9
  • 7
8

If you:

1.installed Graphviz

2.configured GRAPHVIZ_DOT env var to your dot.exe file (example D:\Program Files (x86)\Graphviz2.38\bin\dot.exe)

And you're still getting the same error: Cannot find Graphviz1. You probably need to configure the path to the dot.exe inside the Intelij settings.

Follow this tutorial to do so.

Dor Sloim
  • 99
  • 1
  • 7
3

In case it helps someone, these are the steps to resolve the same error (Can not find GraphViz...) from Eclipse editor.

  1. Install GraphViz on your system. Depending on your system, installation instructions are here: https://graphviz.org/download/ . For Mac (v11.6) users, it is as simple as brew install graphviz

  2. After installation is completed, add an environment variable: GRAPHVIZ_DOT to point to the path of the dot executable. On my machine, I added this:

    export GRAPHVIZ_DOT=/opt/homebrew/bin/dot

  3. Add path of the dot executable to Eclipse PlantUml preferences (Preferences --> Plant UML --> Path to the dot executable of Graph Viz). Screen shot given below:

enter image description here

Binita Bharati
  • 5,239
  • 1
  • 43
  • 24
2
  1. First install graphviz

  2. Find dot executable and put it where IntelliJ can find it

    • Windows: Add the dot executable path in the environment variables path settings
    • Linux: find the location of dot using where dot and if it's not in the /opt/local/bin you can just create a symbolink link from lets say /usr/local/bin by running ln -s /usr/local/bin/dot /opt/local/bin/dot
  3. Restart IntelliJ

Noman
  • 124
  • 2
  • 9
0

I had trouble too...the easiest way is to install the VsCode plugin 'Markdown Preview Enhanced' and then...magically...IntelliJ works fine too!!!

agelbess
  • 4,249
  • 3
  • 20
  • 21
  • Installing yet another IDE (VsCode) to fix the one you already have is far for being __the easiest way__. Plugin most likely installs necessary dependencies as [it supports importing .dot or .puml files](https://shd101wyy.github.io/markdown-preview-enhanced/#/file-imports) to your Markdown - so there's nothing __magicall__ about that. – Jakub Ch. Jul 13 '21 at 11:12
  • 2
    __"every dev that has a bit of self-respect should have VsCode installed along with IntelliJ"__ - What for? That's just your opinion and I strongly disagree with that statement. It's nothing but hateful. – Jakub Ch. Jul 19 '21 at 10:50
  • My point was your answer shouldn't suggest that your way is "the easiest" because it strongly subjective. The question is solely about PlantUML and IntelliJ so for those unfamiliar with VsCode your way is just "a way", not necessarily the easiest. – Jakub Ch. Jul 19 '21 at 10:51