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

M2 MacBook运行项目遭遇No native build was found错误求助

问题:M2 MacBook 运行项目时出现 No native build was found 错误
  • 原项目在Intel MacBook可正常运行,切换到M2 MacBook后,使用bun或npm run dev(node 18)均触发该错误,且其他项目也存在相同问题。

项目package.json依赖

"devDependencies": {
  "@types/three": "^0.143.1",
  "parcel": "^2.7.0"
},
"dependencies": {
  "three": "^0.143.0"
}

bun run dev 控制台错误输出

$ parcel src/index.html --open
Error: No native build was found for platform=darwin arch=x64 runtime=node abi=108 uv=1 libc=glibc node=18.7.0
    loaded from: /Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/lmdb and package: @lmdb/lmdb-darwin-x64

    at load.path (/Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/node-gyp-build-optional-packages/index.js:64:9)
    at Object.load [as default] (/Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/node-gyp-build-optional-packages/index.js:20:30)
    at Object.<anonymous> (/Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/lmdb/dist/index.cjs:47:47)
    at Module._compile (/Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Module._extensions..js (node:internal/modules/cjs/loader:1174:10)
    at Module.load (node:internal/modules/cjs/loader:998:32)
    at Module._load (node:internal/modules/cjs/loader:839:12)
    at Module.require (node:internal/modules/cjs/loader:1022:19)
    at require (/Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/v8-compile-cache/v8-compile-cache.js:159:20)
    at _lmdb (/Users/frankmayer/Documents/Git/WorldArchitect/WebGLPreview/node_modules/@parcel/cache/lib/LMDBCache.js:61:39)
Script error "dev" exited with 1 status

解决方案

1. 清理依赖缓存并重新安装

  • 删除node_modules目录:rm -rf node_modules
  • 删除对应包管理器的锁文件:rm package-lock.json bun.lockb
  • 重新安装依赖:bun install 或 npm install

2. 强制指定arm64架构安装依赖

M2为arm64架构,错误显示尝试加载x64版本的lmdb,可指定架构重新安装:

  • npm:npm install --target_arch=arm64
  • bun:bun install --arch=arm64

3. 更新Parcel版本

当前使用的Parcel 2.7.0对M2架构支持可能不足,更新到最新稳定版:

  • npm install parcel@latest --save-dev 或 bun add parcel@latest --dev

4. 单独重建lmdb依赖

  • 进入node_modules/lmdb目录,执行:node-gyp rebuild --arch=arm64
  • 或直接重新安装lmdb:npm install lmdb --force

5. 关闭终端的Rosetta转译

确保终端以M2原生arm64模式运行:

  • 右键终端应用→「显示简介」,取消勾选「使用Rosetta打开」,重启终端后再执行命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:03:20