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

Tel*_*ion 7 firebase google-cloud-functions

当我在没有部署Firebase功能时

admin.initializeApp(functions.config().firebase);
Run Code Online (Sandbox Code Playgroud)

Firebase日志

错误:默认的Firebase应用程序不存在.确保在使用任何Firebase服务之前调用initializeApp().

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

>firebase deploy --only functions
Run Code Online (Sandbox Code Playgroud)

错误:

错误:解析函数触发器时发生错误.请通过在您的函数文件夹中运行"npm i --save firebase-functions @ latest"来确保您拥有最新的firebase-functions SDK.

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

我已经做了npm i --save firebase-functions@latest哪些没做过任何事情.我被困了,现在因为这个而无法做任何事情......如果他们可以帮助我告诉我一些步骤或提示我会寻求其余的重新安装.


NPM和NodeJS版本是:

node -v
v8.9.1
npm -v
5.6.0
Run Code Online (Sandbox Code Playgroud)

编辑.使用管理员权限安装:

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
Run Code Online (Sandbox Code Playgroud)

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

Pas*_*cht 5

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

但是,这firebase-functions@latest也要求firebase-admin@latest(在编写此答案时firebase-admin@5.11.0。所有软件包升级后,都应解决此问题。

另一种选择是将全局变量降级firebase-tools3.16.0,使您可以使用较旧的firebase-functionsfirebase-admin软件包。