You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1芯片Mac构建node-canvas时出现arm64架构不兼容错误求助

解决M1 Mac上node-canvas架构不兼容(arm64/x86_64)问题

你的报错核心是canvas.node构建的架构(arm64)与当前Node.js运行的架构(x86_64)不匹配,以下是针对性解决方案:

方案1:强制canvas构建为x86_64架构(适配x86_64版本Node)

如果你的Node.js是x86_64版本(用node -p process.arch验证输出为x64),直接指定架构重新构建canvas:

npm install canvas --build-from-source --target_arch=x64

或者先设置环境变量再清理重装:

export npm_config_target_arch=x64
rm -rf node_modules package-lock.json
npm install canvas --build-from-source

方案2:切换到arm64版本Node.js(M1原生适配)

M1 Mac优先推荐使用arm64原生Node.js,避免架构兼容问题:

  1. 用nvm安装arm64版本的Node.js v22:
nvm install 22 --arch arm64
  1. 切换到该版本:
nvm use 22
  1. 清理现有依赖后重新安装canvas:
rm -rf node_modules package-lock.json
npm install canvas --build-from-source

*注意:此时确保你的brew是arm64版本(安装路径为/opt/homebrew),之前安装的依赖无需重复安装。

方案3:通过Rosetta 2全链路使用x86_64环境

如果必须依赖x86_64生态,通过Rosetta 2运行终端并重新配置:

  1. 右键终端应用 → 选择「使用Rosetta打开」,打开新的终端窗口
  2. 安装x86_64版本的Node.js:
nvm install 22
nvm use 22
  1. 安装x86_64版本的依赖包(brew会自动切换到x86路径/usr/local):
arch -x86_64 brew install pkg-config cairo pango libpng jpeg giflib librsvg pixman
  1. 设置对应架构的PKG_CONFIG_PATH:
export PKG_CONFIG_PATH="/usr/local/opt/pixman/lib/pkgconfig"
  1. 重新安装canvas:
rm -rf node_modules package-lock.json
npm install canvas --build-from-source

内容的提问来源于stack exchange,提问作者klaucode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:48:13