安装npm包失败:Node.js版本不符及canvas预编译包404求助
npm包安装失败的两类报错及解决方案
报错详情
1. Node.js版本不兼容错误
安装错误:要求Node.js版本 >=14.15.0,但当前版本为12.22.9
2. canvas包安装报错
npm ERR! node-pre-gyp 提示:执行成功会以ok结尾 npm ERR! node-pre-gyp 使用版本:node-pre-gyp@1.0.11 npm ERR! node-pre-gyp 使用Node版本:node@20.9.0 | darwin | arm64 npm ERR! node-pre-gyp 尝试下载预编译二进制文件:canvas-v2.11.2-node-v115-darwin-unknown-arm64.tar.gz npm ERR! node-pre-gyp 错误:下载请求返回404 Not Found npm ERR! node-pre-gyp 警告:canvas@2.11.2与node@20.9.0(node-v115 ABI,未知架构)无法安装预编译二进制文件,将回退到node-gyp从源码编译 npm ERR! node-pre-gyp 警告:下载链接返回404 Not Found npm ERR! gyp 提示:执行成功会以ok结尾 npm ERR! gyp 使用版本:node-gyp@10.0.1 npm ERR! gyp 使用Node版本:node@20.9.0 | darwin | arm64 npm ERR! gyp 执行成功 npm ERR! gyp 提示:执行成功会以ok结尾 npm ERR! gyp 使用版本:node-gyp@10.0.1 npm ERR! gyp 使用Node版本:node@20.9.0 | darwin | arm64 npm ERR! gyp 找到Python版本3.9.6,路径为"/Library/Developer/CommandLineTools/usr/bin/python3" npm ERR! gyp 启动Python进程:/Library/Developer/CommandLineTools/usr/bin/python3
解决方案
版本不兼容问题处理
- 用nvm管理Node版本:
- 安装指定版本:
nvm install 14.15.0 - 切换到该版本:
nvm use 14.15.0
- 安装指定版本:
- 直接下载Node.js官网>=14.15.0的版本覆盖安装。
canvas包安装问题处理
- 升级canvas到支持Node.js 20的版本:
npm install canvas@latest(canvas@2.12.0及以上已适配Node.js 20) - 若必须用canvas@2.11.2,降级Node.js到16.x或18.x版本
- 源码编译失败时,补全macOS编译依赖:
- 安装Xcode命令行工具:
xcode-select --install - 安装依赖库:
brew install pkg-config cairo pango libpng jpeg giflib librsvg
- 安装Xcode命令行工具:
内容的提问来源于stack exchange,提问作者Jaswant Chaudhary
相关产品推荐
相关产品推荐

