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

Mac M2芯片运行Mongo run-rs报错Unknown system error -86求助

M2芯片Mac运行run-rs报错Unknown system error -86的解决思路

我在搭载M2芯片的Mac设备上运行run-rs -v 5.0.13 --shell时遇到错误,此前在Intel芯片设备上使用相同版本的Node.js(v16.13.1)可正常运行,错误信息如下:

% run-rs -v 5.0.13 --shell
Purging database...
Running '/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/5.0.13/mongod' [ 27017, 27018, 27019 ]
Starting replica set...
Error: spawn Unknown system error -86
    at ChildProcess.spawn (node:internal/child_process:412:11)
    at spawn (node:child_process:698:9)
    at /Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/mongodb-topology-manager/lib/replset.js:94:18
    at Promise._execute (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/bluebird/js/release/debuggability.js:384:9)
    at Promise._resolveFromExecutor (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/bluebird/js/release/promise.js:518:18)
    at new Promise (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/bluebird/js/release/promise.js:103:10)
    at ReplSet.discover (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/mongodb-topology-manager/lib/replset.js:93:12)
    at /Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/mongodb-topology-manager/lib/replset.js:159:33
    at Generator.next (<anonymous>)
    at onFulfilled (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/co/index.js:65:19)
    at /Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/co/index.js:54:5
    at new Promise (<anonymous>)
    at co (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/co/index.js:50:10)
    at /Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/mongodb-topology-manager/lib/replset.js:146:7
    at Promise._execute (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/bluebird/js/release/debuggability.js:384:9)
    at Promise._resolveFromExecutor (/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/node_modules/bluebird/js/release/promise.js:518:18)

解决思路

  • 错误根源:System error -86是Apple Silicon芯片的架构不兼容错误,run-rs下载的MongoDB 5.0.13是Intel(x86_64)架构版本,无法在ARM64的M2芯片上直接运行。

  • 方案1:Rosetta 2转译运行

    1. 未安装Rosetta 2时先执行:softwareupdate --install-rosetta
    2. 切换到x86架构shell:arch -x86_64 zsh
    3. 重新执行run-rs命令:run-rs -v 5.0.13 --shell
  • 方案2:升级run-rs与MongoDB版本

    1. 卸载旧版run-rs:npm uninstall -g run-rs
    2. 安装最新版run-rs:npm install -g run-rs
    3. 使用支持ARM64的MongoDB版本运行,例如:run-rs -v 5.0.14 --shell(5.0.14及以上的5.x版本,或6.x/7.x全系列均支持Apple Silicon)
  • 方案3:手动替换ARM架构mongod文件

    1. 下载对应ARM64架构的5.0.x版本mongod二进制文件
    2. 替换run-rs目录下的mongod:将下载文件替换到/Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/5.0.13/路径下
    3. 赋予执行权限:chmod +x /Users/mattkuhns/.nvm/versions/node/v16.13.1/lib/node_modules/run-rs/5.0.13/mongod
    4. 重新执行run-rs命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:52:51