概要
- Windowsの環境では問題ないのにWSL2環境でのみVSCode拡張機能
Markdown PDF
がエラーになる現象が発生したのでそれの解決方法の備忘録
内容
- エラーメッセージ
-
Markdown PDF
が内部的にブラウザの機能を使用してMarkdownを変換しているからブラウザがデフォルトでインストールされていないWSL2の環境で本エラーが発生したと思われる - node.js - Error: Failed to launch the browser process puppeteer - Stack Overflow
-
Error: Failed to launch the browser process!
/root/.vscode-server/extensions/yzane.markdown-pdf-1.4.4/node_modules/puppeteer-core/.local-chromium/linux-722234/chrome-linux/chrome: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory
TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md
解決方法
WSL内にブラウザをインストールして拡張機能にPathを設定すればいい
sudo apt-get install -y chromium-browser
chromium-browser --version
which chromium-browser
-
which chromium-browser
で出力されたPathをmarkdown-pdfのPathとして保存する
"markdown-pdf.executablePath": "/usr/bin/chromium-browser"
- 今回はWSL環境の問題なので
リモート[WSL: Ubuntu]
を選択して設定した
- その他、Markdownで日本語を使う場合、日本語フォントが入っていないとPDF化した際に文字化けになるのでWSLに日本語フォントをインストールする
sudo apt-get install -y fonts-ipafont