Firebase 在 M1 上损坏 Mac

Firebase broken on M1 Mac

我有一台新的 MacBook Air M1。 Firebase 一直在运行,直到我上周将 firebase-tools 从 9.7.0 升级到 9.8.0。升级后,每次尝试 运行 任何“firebase”语句时都会出现此错误。

本题没有直接涉及的源码,求关闭原题的人。要重现此问题,您必须拥有 M1 mac 并使用 firebase。

我该如何解决这个问题?

(请注意其他遇到此问题的人,答案已在下面@RandomDude 的评论中提供:只需将 firebase-tools 降级到 9.7.0)

steve@steves-air functions % firebase
dyld: lazy symbol binding failed: Symbol not found: __Z18sse42_is_availablev
  Referenced from: /opt/homebrew/lib/node_modules/firebase-tools/node_modules/sse4_crc32/build/Release/crc32c.node
  Expected in: flat namespace

dyld: Symbol not found: __Z18sse42_is_availablev
  Referenced from: /opt/homebrew/lib/node_modules/firebase-tools/node_modules/sse4_crc32/build/Release/crc32c.node
  Expected in: flat namespace

zsh: abort      firebase

2021 年 4 月 7 日更新

更新到 firebase-tools@9.9.0 解决了这个问题。

$ npm install -g firebase-tools
$ firebase --version
9.9.0

临时解决方案

正如 RandomDude 在上面的评论中提到的那样,降级到 9.7.0 使它对我有用。

$ firebase --version

# This will give you the same error.
# So, look at the directory where firebase-tools are installed.

$ cat /opt/homebrew/lib/node_modules/firebase-tools/package.json
{
  "name": "firebase-tools",
  "version": "9.8.0",
--- snip ---

重新安装 firebase-tools

$ npm uninstall -g firebase-tools
$ npm install -g firebase-tools@9.7.0
$ firebase --version
9.7.0

这对我来说是一个暂时的解决方案。感谢 RandomDude.