尝试将 Firebase 版本回滚到 2.X

har*_*yfo 6 node.js npm firebase geofire firebase-tools

我最近更新到了新的 Firebase 3,但不幸的是,据我所知,它目前不支持 Geofire 查询,这对我的应用程序很重要,我已经将应用程序中的其他所有内容都转为使用 Firebase 2,但是当我尝试时要将我的应用程序部署到 firebase 托管,我收到一条错误消息:

“错误:无法授权访问项目

注意:此版本的 Firebase CLI 仅与升级到新 Firebase 控制台的项目兼容。要访问 firebase.com 应用程序,您需要使用以前的版本:npm install -g firebase-tools@^2.1"

所以然后我尝试运行 npm install -g firebase-tools@^2.1 但当我尝试 firebase -V 时它仍然说我使用的是 3.0 版本。我还尝试运行 npm uninstall firebase 它返回 unbuild firebase@3.0.1 但如果我检查 firebase 版本它仍然显示 3.0.1,我似乎无法删除它,可能我最初将它安装在其他地方?我已经没有想法了请帮忙!

小智 8

  1. 检查你的 npm 配置

    npm prefix -g

  2. 如果路径是“未定义”,

    cd /usr/local/ 删除bin、lib中相关的firebase模块

  3. 删除 npm 中的 firebase 模块

    npm remove -g firebase-tools

  4. 然后安装 firebase-tools

    npm install -g firebase-tools@<specific_version>

  5. 如果需要,Firebase 的别名设置。


har*_*yfo 2

firebase 没有问题,这是我的 NPM 配置和 $PATH 不正确。它无法全局保存任何应用程序,不确定它是如何更改的。

我不得不跑:

npm config get prefix
Run Code Online (Sandbox Code Playgroud)

发现不是:

/usr/local
Run Code Online (Sandbox Code Playgroud)

然后跑:

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Run Code Online (Sandbox Code Playgroud)

这使我能够在全球范围内安装 firebase 2.1:

npm install -g firebase-tools@^2.1
Run Code Online (Sandbox Code Playgroud)