启动Firebase模拟器时遇isolated-vm原生依赖架构不兼容错误
解决M1 Mac上Firebase模拟器与isolated-vm架构不兼容问题
问题核心是Firebase模拟器在M1 Mac上默认通过Rosetta以x86_64架构运行,但你本地编译的isolated-vm是arm64架构,导致动态库加载失败。以下是几种可行的解决办法:
方法一:用Rosetta终端重新编译依赖
- 找到「终端」应用,右键选择「显示简介」,勾选「使用Rosetta打开」
- 关闭当前所有终端窗口,重新打开这个启用Rosetta的终端
- 删除现有依赖和编译产物:
rm -rf node_modules package-lock.json yarn.lock node_modules/isolated-vm/out - 重新安装依赖并编译:
npm install # 或者用yarn的话:yarn install - 启动Firebase模拟器:
firebase emulators:start
方法二:强制编译x86_64版本的isolated-vm
不需要切换Rosetta终端,直接在普通arm64终端里指定编译架构:# npm用户 npm_config_arch=x64 npm install isolated-vm # yarn用户 yarn add isolated-vm --arch=x64完成后重新启动模拟器即可。
方法三:更新Firebase CLI到最新版本
部分新版本Firebase CLI已适配M1的arm64架构,先尝试更新:npm install -g firebase-tools@latest更新后重新启动模拟器,如果仍出现架构问题,再使用前两种方法。
内容的提问来源于stack exchange,提问作者Moebius
相关产品推荐
相关产品推荐

