首页 文章

按照迁移到Firebase Cloud Functions 1.0的所有说明后,部署失败

提问于
浏览
1

我正在尝试将Firebase Cloud 功能安装迁移到新发布的V1.0 .

我已仔细按照https://firebase.google.com/docs/functions/beta-v1-diff提供的所有说明进行操作,包括运行更新以及执行每项功能,以确保它反映了v1中破坏旧功能的更改 .

当我然后尝试运行部署(仅用于函数)时,我收到以下错误:错误:

无效的Firebase应用选项作为名为“[DEFAULT]”的应用的initializeApp()的第一个参数传递 . “credential”属性必须是实现Credential接口的对象 .

值得注意的是,特别提到不再需要在参数中提供凭证:“firebase-admin现在在Cloud Functions运行时内没有任何参数进行初始化 . ”

我怀疑Firebase Cloud 功能的更新(npm install firebase-functions @ latest --save)没有成功 . 我怀疑这是因为,尽管在该调用之后有很多活动,但输出只有两行:

Brandus@1.0.0 /Users/ajr/Documents/dev/sites/Brandus
└── firebase-functions@1.0.0

我见过另一个症状相同的问题:Cloud Functions Firebase v1.0 . 我试着评论,但我的声誉太低了 .

编辑:代码按要求

// The Cloud Functions for Firebase SDK to create Cloud Functions and setup triggers.
const functions = require( 'firebase-functions' ) ;

var fs      = require('fs');
var url     = require('url');
var http    = require('http');
var https    = require('https');

// tinycolor2
const tinycolor = require( 'tinycolor2' ) ;
// The Firebase Admin SDK to access the Firebase Realtime Database. 
const admin = require( 'firebase-admin' ) ;
//admin.initializeApp(functions.config().firebase);
admin.initializeApp();

这是所有代码,直到错误发生,前面的代码被注释掉了 .

2 回答

  • 3

    我有同样的问题 . 正如Bob Snyder在其中一条评论中所建议的那样,我在package.json中检查了我的版本,而firebase-admin仍然是旧版本 . 将它设置为^ 5.11.1并在functions文件夹中运行“npm install”后,我就可以立即部署了 . 我没有必要将项目更改为TypeScript .

    您可以在函数文件夹中运行 npm install --save firebase-admin@latest . 这样更好,没有任意版本可以指定 .

  • 1

    在更改项目后使用TypeScript而不是Javascript,我能够成功部署 . 部署后,这些功能似乎正常工作 .

    我按照these instructions完成了迁移 .

    即使没有迁移到打字稿,新鲜的firebase init也可以修复它,但不管怎样,这对我有用 .

相关问题