{"record":{"id":"ff85a1057a01e6e7","repo":"vercel/turborepo","slug":"turbo-uses-graphviz-to-generate-an-image-of-your","errorCode":null,"errorMessage":"`turbo` uses Graphviz to generate an image of your graph, but Graphviz isn't installed on this machine.\\n\\nNote: --graph output to .png, .jpg, .pdf, and .json is deprecated and will be removed in version 3.0. Use .svg, .html, .mermaid, or .dot instead.\\n\\nIn the meantime, you can use this string output with an online Dot graph viewer.","messagePattern":"`turbo` uses Graphviz to generate an image of your graph, but Graphviz isn't installed on this machine\\.\\\\n\\\\nNote: --graph output to \\.png, \\.jpg, \\.pdf, and \\.json is deprecated and will be removed in version 3\\.0\\. Use \\.svg, \\.html, \\.mermaid, or \\.dot instead\\.\\\\n\\\\nIn the meantime, you can use this string output with an online Dot graph viewer\\.","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"crates/turborepo-lib/src/run/mod.rs","lineNumber":1632,"sourceCode":"        &self,\n        show_progress: bool,\n    ) -> std::pin::Pin<\n        Box<\n            dyn std::future::Future<\n                    Output = Result<\n                        turborepo_boundaries::BoundariesResult,\n                        turborepo_boundaries::Error,\n                    >,\n                > + Send\n                + '_,\n        >,\n    > {\n        Box::pin(std::future::ready(self.check_boundaries(show_progress)))\n    }\n}\n\nfn emit_graphviz_warning() -> Result<(), io::Error> {\n    turborepo_log::warn(\n        turborepo_log::Source::turbo(turborepo_log::Subsystem::Run),\n        \"`turbo` uses Graphviz to generate an image of your graph, but Graphviz isn't installed \\\n         on this machine.\\n\\nNote: --graph output to .png, .jpg, .pdf, and .json is deprecated \\\n         and will be removed in version 3.0. Use .svg, .html, .mermaid, or .dot instead.\\n\\nIn \\\n         the meantime, you can use this string output with an online Dot graph viewer.\",\n    )\n    .emit();\n    Ok(())\n}\n\n#[cfg(test)]\nmod tests {\n    use std::{future::pending, time::Duration};\n\n    use turborepo_signals::ShutdownReason;\n\n    use super::{\n        remote_cache_status_message, CacheShutdownOutcome, ForceShutdownReason, RemoteCacheStatus,","sourceCodeStart":1614,"sourceCodeEnd":1650,"githubUrl":"https://github.com/vercel/turborepo/blob/f9245100cf0d31d96628804ead485f6bf226e55a/crates/turborepo-lib/src/run/mod.rs#L1614-L1650","documentation":"`turbo run --graph <file>` in an image format (.png/.jpg/.pdf) shells out to Graphviz `dot`. emit_graphviz_warning (crates/turborepo-lib/src/run/mod.rs:1624-1636) fires when `dot` is not installed: it explains the missing dependency, notes that image outputs are deprecated and removed in v3 (use .svg/.html/.mermaid/.dot instead), and suggests pasting the emitted dot output into an online viewer.","triggerScenarios":"Requesting --graph out.png (or .jpg/.pdf) on a machine without graphviz in PATH. The command still emits the graphviz dot string/preview rather than failing. Note the deprecation: even with graphviz installed, these formats go away in turbo 3.0.","commonSituations":"Local machines and slim CI containers without the graphviz package; docs screenshots pipelines; users upgrading toward turbo 3.x needing to migrate graph exports to a supported format.","solutions":["Install Graphviz (apt-get install graphviz / brew install graphviz / choco install graphviz) so `dot` is on PATH.","Prefer future-proof outputs that don't depend on local tooling: switch to `--graph out.svg`, out.html, out.mermaid, or keep out.dot.","If you cannot install locally, capture the emitted dot text and render it with an online Graphviz viewer.","Update any docs/scripts still producing .png/.jpg/.pdf before turbo 3.0 removes them."],"exampleFix":"# before: image output needs local graphviz\nturbo run build --graph=graph.png   # -> Graphviz isn't installed on this machine\n\n# after: no external dependency, v3-safe\nturbo run build --graph=graph.svg   # or .html / .mermaid / .dot","handlingStrategy":"validation","validationCode":"#!/usr/bin/env bash\nif ! command -v dot >/dev/null; then\n  echo \"graphviz 'dot' not installed — use --graph=graph.svg/.dot instead\" >&2\n  exit 1\nfi\nturbo run build --graph=graph.png","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Default to .svg/.html/.mermaid/.dot outputs which avoid the Graphviz dependency and survive turbo 3.0.","If image formats are required, add graphviz to the CI image explicitly.","Lint scripts/docs for --graph=*.png|jpg|pdf and migrate them ahead of v3."],"tags":["turborepo","graph","graphviz","deprecation","visualization"],"backgroundTag":"graphviz-not-installed","analyzedSha":"f9245100cf0d31d96628804ead485f6bf226e55a","analyzedAt":"2026-08-17T10:46:15.696Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}