当我在没有
的情况下部署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后我得到了完全相同的错误。
答案 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-functions
和firebase-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
上遇到错误,但是在该节点更新之后,错误消失了。
希望有帮助。