【发布时间】:2018-03-22 14:41:55
【问题描述】:
这是 node.js index.js 文件的标题:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
var db = admin.firestore();
这是监听 firestore 变化的 node.js 函数:
exports.myFoo = functions.firestore
.document('foo/{bar}')
.onWrite(event => {
// do stuff
}
这是在 package.json 文件中:
"dependencies": {
"firebase-admin": "^5-.4.2",
"firebase-functions": "^0.7.1",
"firestore": "^1.1.6"
},
当我尝试执行“firebase deploy”命令时,这是我得到的错误:
错误:解析函数触发器时出错。
TypeError: admin.firestore 不是函数
询问Firebase
【问题讨论】:
-
可能你没有最新版本的SDK。通过在项目的函数目录中运行
npm install firebase-functions@latest --save,按照the documentation 中的说明获取它。 -
我认为您在依赖项中不需要firestore?我有一个工作的 firestore/firebase-functions sn-p,只有两个依赖项
"firebase-admin": "^5.4.1"和"firebase-functions": "^0.7.0" -
@BobSnyder 我同时运行了
npm install firebase-functions@latest --save和npm install -g firebase-tools,然后再次尝试了firebase deploy,但仍然出现相同的错误消息。我有 firebase 3.13.1 版和 npm 3.10.10 版。 -
@DauleDK 我从依赖项中删除了 firestore,但部署仍然抛出相同的错误消息。
-
@AjahnCharles 回顾我对这篇文章的编辑,当问题第一次出现时,我最初拥有
"firebase-admin": "^5.4.2",。在寻找解决方案的过程中的某个时刻,我注意到版本号中添加的连字符发生了变化,并更新了帖子。这意味着即使它可能是一个问题,它也不是这个错误的“问题”。不过感谢您的帮助。
标签: node.js firebase google-cloud-functions google-cloud-firestore