Getting Mermaid JS and ob-mermaid running on my system - needed to symlink Chromium for Puppeteer
| emacsconf, nodejs, org, emacsI wanted to use Mermaid to make diagrams, but I ran into this issue when trying to run it:
Error: Could not find Chromium (rev. 1108766). This can occur if either 1. you did not perform an installation before running the script (e.g. `npm install`) or 2. your cache path is incorrectly configured (which is: /home/sacha/.cache/puppeteer). For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
It turns out that I needed to do the following:
sudo npm install -g puppeteer mermaid @mermaid-js/mermaid-cli --unsafe-perm # Cache Chromium for my own user node /usr/lib/node_modules/puppeteer/install.js --unsafe-perm sudo npm install -g mermaid @mermaid-js/mermaid-cli ln -s ~/.cache/puppeteer/chrome/linux-117.0.5938.149 ~/.cache/puppeteer/chrome/linux-1108766 ln -s ~/.cache/puppeteer/chrome/linux-117.0.5938.149/chrome-linux64 ~/.cache/puppeteer/chrome/linux-117.0.5938.149/chrome-linux
(The exact versions might be different for your installation.)
Then I could make a Mermaid file and try it out with mmdc -i input.mmd -o output.svg
,
and then I could confirm that it works directly from Org with ob-mermaid:
sequenceDiagram input ->> res: original.mp4; res ->> backstage: reencoded.webm; backstage ->> laptop: cached files; laptop ->> backstage: index; input ->> res: main.vtt; res ->> backstage: main.webm; backstage ->> laptop: cached files; laptop ->> backstage: index; input ->> res: normalized.opus; res ->> backstage: main.webm; backstage ->> laptop: cached files; laptop ->> backstage: index; backstage ->> media: public files;
You can comment with Disqus or you can e-mail me at sacha@sachachua.com.