我想在使用Apple Silicon (M1)时尝试使用Firebase Hosting时遇到了在firebase login时失败的问题,现在想解决这个问题

目标受众

使用Apple Silicon (M1)的人,遵循步骤使用Firebase Hosting时遇到了像我这样的问题,无法登录firebase。

成功的环境下实现的动作。

    • マシン: Mac mini(M1, 2020)

 

    • OS: macOS Big Sur 11.2

 

    • zsh: 5.8 (x86_64-apple-darwin20.0)

 

    • nvm -v: 0.37.0

 

    • npm -v: 7.6.3

 

    node -v: v15.12.0

总结

将NodeJS的版本升级至v15以上即可解决该问题。

原因

请参考Node.js v15的CHANGELOG。
https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V15.md#15.0.0

可以看到 arm64 支持正在开始。
换句话说,目前写这篇文章时使用的是 14.16.0 Stable 版本,但使用这个版本会出问题。

当沉迷其中的故事

如果你使用ndenv,就陷入了困境。

首先,让我们安装一个可以管理适用于 arm64 架构的 nodejs 版本的工具。
可以使用 nvm 或者 nodenv 这样的管理工具。
像我一样使用 ndenv 的人可能会遇到问题,因为目前还没有适用于 arm64 架构的软件包,会导致构建失败(至少在撰写本文时是如此)。

使用早于稳定的 Node 版本14之前的情况下,遇到了困难。

在我着陆在Node.js的主页之后,我正在写一篇文章。目前稳定版本是14.16.0,最新版本是15.12.0。
通常情况下,我会使用最新版本,但这次我被要求快速制作一个网页,所以我不想遇到任何问题,决定采用稳定版本的14.16.0。
然而,这造成了一个问题,我成功执行了”npm install -g firebase”命令,但在执行”firebase login”时却出现了中断。

一开始我以为是在构建管理工具时出了什么问题,所以尝试更换了管理工具。但正如之前解释过的,问题其实在于 Node 的版本,所以并没有成功的可能性……

最后由于不理解而进行了各种调查,最后找到了变更日志,并想着如果是最新版本的话,应该可以对吧?于是试了一下,结果轻而易举地成功了。

发推文

希望这篇文章能够拯救更多像我一样的人?。

bannerAds