完成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)
阅读此Can't deploy to firebase . Get ENOENT error我尝试应用sudo,这有点帮助 - 以及: $ sudo firebase deploy
在显着停顿3-5秒后
Error: Invalid Firebase specified.
Having trouble? Try firebase deploy --help
但是: $ sudo firebase list
表明该项目存在:
┌────────────────────────┬───────────────────────┬─────────────┐
│ Name │ Project ID / Instance │ Permissions │
├────────────────────────┼───────────────────────┼─────────────┤
│ MY_APP_NAME (current) │ MY_APP_NAME │ Owner
任何想法将不胜感激。
我有NPM 3.8.6 @Node v6.0.0 @ Mac 10.11
答案 0 :(得分:10)
首先,修复权限错误非常简单:
sudo chown -R $USER ~/.config/configstore
然后,部署命令是
firebase deploy --project MY_PROJECT_ID
其中MY_PROJECT_ID是&#39;项目ID /实例&#39;中的第一个条目。 firebase list
表的列。检查firebase use --help
命令以设置目录的默认项目
答案 1 :(得分:6)
如上所述,Chris Raynor首先修复您的权限问题:
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? (e.g. 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!
答案 2 :(得分:3)
从旧的firebase信息中心导入项目到新的控制台时,我遇到了同样的问题(指定的Firebase指定无效),并使用以下终端命令对其进行修复,
firebase use --add
//清除firebase-tools的所有先前项目选择
firebase deploy
//使用新别名添加新导入的项目
使用别名清除并重新添加项目后,我能够使用
成功部署它
a = [14, 140] b = [13, 120] c = [12, 130] d = [11, 110] | | c a | | d b |____________
。
答案 3 :(得分:0)
我最近在尝试部署到生产环境时突然遇到了这个问题,它突然显示了此消息,并且尝试上述方法无效。
这是我的作品。
首先,我通过以下方式注销了我的Firebase帐户:
firebase logout
然后再次登录
firebase login
然后只需重新选择项目
firebase use project_name
现在我可以正确部署了,而不会再次出现该问题。