无法执行Firebase部署 – 错误:指定的Firebase无效

完成firebase.com/docs上的所有必要步骤并将我的应用升级到新版本后,我仍然无法使用firebase-tools运行部署。

$ firebase部署MY_APP_NAME

给出如下的堆栈:

 /usr/local/lib/node_modules/firebase-tools/node_modules/configstore/index.js:53 throw err; ^ Error: EACCES: permission denied, open '/Users/myusername/.config/configstore/update-notifier-firebase-tools.json' You don't have access to this file. at Error (native) at Object.fs.openSync (fs.js:634:18) at Object.fs.readFileSync (fs.js:502:33) at Object.create.all.get (/usr/local/lib/node_modules/firebase-tools/node_modules/configstore/index.js:34:26) at Object.Configstore (/usr/local/lib/node_modules/firebase-tools/node_modules/configstore/index.js:27:44) at new UpdateNotifier (/usr/local/lib/node_modules/firebase-tools/node_modules/update-notifier/index.js:34:17) at module.exports (/usr/local/lib/node_modules/firebase-tools/node_modules/update-notifier/index.js:123:23) at Object.<anonymous> (/usr/local/lib/node_modules/firebase-tools/bin/firebase:5:48) at Module._compile (module.js:541:32) at Object.Module._extensions..js (module.js:550:10) 

阅读本文无法部署到Firebase。 获取ENOENT错误我试图应用sudo,这有助于更多 – 以及: $ sudo firebase部署

在3-5秒的显着停顿之后导致

 Error: Invalid Firebase specified. Having trouble? Try firebase deploy --help 

但是在做: $ sudo firebase列表

显示该项目存在:

 ┌────────────────────────┬───────────────────────┬─────────────┐ │ Name │ Project ID / Instance │ Permissions │ ├────────────────────────┼───────────────────────┼─────────────┤ │ MY_APP_NAME (current) │ MY_APP_NAME │ Owner 

任何想法将不胜感激。

我有NPM 3.8.6 @ Node v6.0.0 @ Mac 10.11

首先,修复你的权限错误相当简单:

 sudo chown -R $USER ~/.config/configstore 

那么,要部署的命令是

 firebase deploy --project MY_PROJECT_ID 

其中,MY_PROJECT_ID是Firebase列表中“项目ID /实例”列中的第一个条目。 查看firebase use --help命令来设置目录的默认项目

正如克里斯·雷诺所说,首先解决你的权限问题:

 sudo chown -R $USER ~/.config/configstore 

我的升级导致了相同的错误(“指定的Firebase无效”)。 我发现清理和重新添加项目解决了我的问题。

在迁移到新版本的Firebase并遵循最初的交互过程之后,我运行了下面的命令。

 firebase use --clear firebase use --add 

“添加”选项给了我下面的交互式提示:

 ? Which project do you want to add? my-project-name ? What alias do you want to use for this project? (eg staging) staging 

清除并重新添加后,我的部署命令根据文档工作

 firebase deploy 

最后的工作输出如下所示:

 i deploying database, hosting i hosting: preparing public directory for upload... ✔ hosting: 34 files uploaded successfully i starting release process (may take several minutes)... ✔ Deploy complete! 

从旧的Firebase仪表板导入项目到其较新的控制台时,我遇到了同样的问题( 指定了无效的Firebase ),并使用以下terminal命令对其进行了修复,

firebase use --clear
//清除以前的firebase-tools项目select

firebase use --add
//添加一个新的别名新导入的项目

清除并重新添加一个别名的项目后,我能够成功部署使用

firebase deploy