macOS Monterey下npm安装canvas报command failed错误求助
问题根因
- 你当前使用的
canvas@2.8.0没有适配Node 17.0.1版本的预编译二进制包,下载预构建包返回404后自动触发源码编译流程 - 源码编译阶段缺少macOS环境下canvas编译必需的系统依赖工具
pkg-config以及对应的图形库依赖,直接导致编译中断
解决步骤
按顺序执行以下操作:
- 若未安装Homebrew包管理器,先打开终端执行安装命令:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 执行brew命令安装canvas编译所需的全部系统依赖:
brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman - 进入项目目录
/Users/amjcramer/Desktop/hashlips_art_engine,清理之前安装失败的残留文件:
rm -rf node_modules package-lock.json npm cache clean --force
- 处理版本兼容问题,两种方案选其一即可:
- 方案一:将Node版本降级为长期支持的16.x版本,之后直接执行
npm install安装项目依赖 - 方案二:不调整Node版本,先安装最新版canvas再安装其余依赖,执行命令:
npm install canvas@latest && npm install
- 方案一:将Node版本降级为长期支持的16.x版本,之后直接执行
内容的提问来源于stack exchange,提问作者Aaron Cramer
相关产品推荐
相关产品推荐

