在WSL中安装Mermaid CLI失败时,可参考以下详细解决方案:
1. Node.js环境问题
- 前置条件:确保已安装Node.js(建议v16+)
- 检查版本:运行
node --version验证 - 安装失败时:使用以下命令安装Node.js:
bash
# 使用nvm安装Node.js(推荐)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts
- 清理npm缓存:
npm cache clean --force - 永久设置镜像:
npm config set registry https://registry.npmmirror.com
2. Puppeteer依赖问题
- 核心原因:Mermaid CLI依赖Puppeteer,而Puppeteer默认会下载Chromium,可能因权限或路径问题失败
- 解决方案
- 跳过Chromium下载:设置环境变量
export PUPPETEER_SKIP_DOWNLOAD=true - Ubuntu系统直接安装Chromium(推荐):
bash
# 安装Chromium浏览器
sudo apt-get update
sudo apt-get install -y chromium-browser
# 配置Puppeteer使用系统Chromium
export PUPPETEER_EXECUTABLE_PATH=$(which chromium-browser)
# 永久生效(添加到~/.bashrc)
echo 'export PUPPETEER_EXECUTABLE_PATH=$(which chromium-browser)' >> ~/.bashrc
source ~/.bashrc
- 备选方案:手动安装Chrome
bash
# 下载并安装Chrome
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt install ./google-chrome-stable_current_amd64.deb
rm google-chrome-stable_current_amd64.deb
# 设置环境变量
export PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome
echo 'export PUPPETEER_EXECUTABLE_PATH=/usr/bin/google-chrome' >> ~/.bashrc
source ~/.bashrc
3. 网络问题
- 国内用户推荐:安装时强制使用国内镜像
bash
npm install -g @mermaid-js/mermaid-cli --verbose --registry=https://registry.npmmirror.com
- 证书过期:若遇
CERT_HAS_EXPIRED错误,切换镜像源
bash
npm config set registry https://registry.npmmirror.com
4. 权限问题
- 提升权限安装:在安装命令前添加
sudo,避免全局安装路径无写入权限 - 检查权限:确保用户对
~/.cache/puppeteer有读写权限
5. 其他问题
- 检查日志:安装失败时查看详细日志定位问题:
cat ~/.npm/_logs/*.log - 使用Docker:若环境配置复杂,可用Docker容器替代