WSL Ubuntu中安装Mermaid CLI失败解决

在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容器替代
相关推荐
Starry-sky(jing)4 小时前
Win11 装 ESP32 Arduino 库卡 3 小时?我把官方 3.3.10 全平台 522MB 搬到了蓝奏云,解压即用
运维·windows·esp32·arduino·离线安装
小此方5 小时前
Re:Linux系统篇(四十二)通信篇·七:SystemV标准三部曲其之三:信号量与并发编程初步认识
linux·运维·驱动开发
画中有画11 小时前
使用yolov8实现自动化脚本
运维·yolo·自动化
Piko61413 小时前
H3C IRF2 堆叠实战:打造高可靠核心交换网络
运维·网络·笔记
万联WANFLOW16 小时前
SD-WAN 控制平面高可用怎么做?SDWAN 控制器挂了,全网会发生什么
运维·网络·分布式·架构
SkyWalking中文站18 小时前
认识 Horizon UI · AI Assistant:用日常语言查询你的可观测性数据
运维·监控·自动化运维
艾莉丝努力练剑19 小时前
OpenCode AI 编程:Ubuntu 24.04 环境安装与使用指南
linux·服务器·网络·人工智能·tcp/ip·ubuntu
崇山峻岭之间19 小时前
Keil5输出hex转换为bin的设置
linux·运维·服务器
Hoxy.R19 小时前
KingbaseES读写分离高可用集群扩容、备库重建与故障切换实战
运维·数据库
Tian_Hang20 小时前
Eclipse Ditto 的权限策略
java·服务器·前端·网络·ide·ubuntu·eclipse