使用部署功能时,Firebase配置变量不可用

时间:2018-01-30 23:11:22

标签: firebase google-cloud-functions

当我在没有

的情况下部署Firebase功能时
admin.initializeApp(functions.config().firebase);

Firebase日志

  

错误:默认的Firebase应用程序不存在。一定要打电话   在使用任何Firebase服务之前初始化App()。

但如果我添加该行,我会在部署时遇到错误。

>firebase deploy --only functions

错误:

  

错误:解析函数触发器时出错。请   通过运行“npm i”确保您拥有最新的firebase-functions SDK    - 在你的函数文件夹中保存firebase-functions @ latest。

     

错误:Firebase配置变量不可用。请使用   最新版本的Firebase CLI用于部署此功能。

我已经做过npm i --save firebase-functions@latest但没有做任何事情。由于这个问题,我现在陷入困境,无法做任何事情......如果他们可以帮助我告诉我一些步骤或提示,我会帮忙重新安装。我会寻求其余的。

NPM和NodeJS版本是:

node -v
v8.9.1
npm -v
5.6.0

编辑。使用管理员权限进行安装:

npm i --save firebase-functions@latest
npm WARN firebase-functions@0.8.1 requires a peer of firebase-admin@~5.8.1 but none is installed. You must install peer dependencies yourself.

npm ERR! path C:\Users\Telion\firebaseApps\project-name\functions\node_modules\firebase-admin\node_modules\grpc\node_modules\abbrev
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\Users\Telion\firebaseApps\project-name\functions\node_modules\firebase-admin\node_modules\grpc\node_modules\abbrev' -> 'C:\Users\Telion\firebaseApps\project-name\functions\node_modules\firebase-admin\node_modules\grpc\node_modules\.abbrev.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

它实际上似乎我在npm版本5.5.1上,但即使在更新到5.6.0后我得到了完全相同的错误。

4 个答案:

答案 0 :(得分:3)

firebase-tools@3.17.x中引入了一项重大更改,要求您的项目将firebase-functions升级到最新版本。

但是,firebase-functions@latest还需要firebase-admin@latest(在撰写此答案时firebase-admin@5.11.0。一旦升级了所有软件包,就应该解决此问题。

另一种方法是将您的全局firebase-tools降级为3.16.0,这样您就可以使用较旧的firebase-functionsfirebase-admin个包。

答案 1 :(得分:0)

对我来说,它适用于firebase-tools6.9.2。 firebase-tools3.16.0已完全描述。

答案 2 :(得分:0)

我在Ubuntu中遇到了同样的问题,这就是我解决的方法

使用以下命令安装Firebase:sudo npm install -g firebase-tools

还要确保您使用管理员权限启动,例如登录

sudo firebase login

答案 3 :(得分:0)

您还需要将节点更新到至少8.15.x。该细节显示在消息中。

一旦我确定必须执行一个firebase login命令,然后您就可以运行firebase init hosting

以前,我在firebase init hosting上遇到错误,但是在该节点更新之后,错误消失了。

希望有帮助。