Mac Silicon芯片安装face-api.js报错:Unsupported system: cpu-darwin-arm64
解决cpu-darwin-arm64架构下face-api.js安装失败问题
一、修改依赖版本
问题根源是旧版@tensorflow/tfjs-node不支持ARM64架构的macOS,直接指定支持该架构的新版本即可:
- 打开项目根目录的
package.json,将@tensorflow/tfjs-node的版本改为4.10.0及以上(该版本开始正式支持darwin-arm64) - 如果face-api.js依赖的tfjs-node版本被锁定,可手动覆盖依赖:
"dependencies": { "face-api.js": "^0.22.2", "@tensorflow/tfjs-node": "^4.10.0" }, "overrides": { "face-api.js": { "@tensorflow/tfjs-node": "^4.10.0" } }
二、修改安装脚本(无法升级依赖时的临时方案)
如果必须使用旧版本tfjs-node,可修改其安装脚本绕过架构检测:
- 找到
node_modules/@tensorflow/tfjs-node/scripts/install.js文件 - 定位到报错的架构检测代码(约第95行),修改为:
// 替换原抛出错误的代码 let arch = os.arch(); if (platform === 'darwin' && arch === 'arm64') { arch = 'x64'; // 强制使用x64版本通过Rosetta运行 } // 保留后续下载逻辑 - 修改后重新执行
npm install
三、通用架构兼容配置
为让npm install在任意架构下顺利执行,可在package.json中添加兼容声明并锁定兼容版本:
"os": ["darwin", "linux", "win32"], "cpu": ["x64", "arm64", "ia32"], "overrides": { "@tensorflow/tfjs-node": "^4.10.0" }
内容的提问来源于stack exchange,提问作者jerrymouse
相关产品推荐
相关产品推荐

