admin.firestore不是在使用google云function和node.js时的function
这是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部署”命令这是我得到的错误:
错误:分析函数触发器时发生错误。
TypeError:admin.firestore不是一个函数
askFirebase
我能够重现错误和蛮力的解决scheme。 我对npm
了解不多,不能提供解决scheme为什么能起作用的完整解释。
我原来的package.json
包含:
"dependencies": { ... "firebase-admin": "^4.2.1", "firebase-functions": "^0.7.1", ... },
按照文档中的build议 ,我在函数文件夹中运行了这两个命令:
npm install -g firebase-tools npm install firebase-functions@latest --save
我也试过:
npm install --save firebase-admin npm upgrade
我反复收到这些错误消息:
+-- UNMET PEER DEPENDENCY firebase-admin@4.2.1 npm WARN firebase-functions@0.7.1 requires a peer of firebase-admin@~5.4.2 but none was installed.
我想firebase-admin
需要更新,但不能实现。 所以我编辑了依赖文件来删除这一行:
"firebase-admin": "^4.2.1"
然后运行npm install --save firebase-admin
再次保存npm install --save firebase-admin
。 有了这个, package.json
包含"firebase-admin": "^5.4.2"
版本"firebase-admin": "^5.4.2"
和var db = admin.firestore();
编译没有错误。
- 从Firebasefunction访问Google Site Verification API
- 带有Gmail“发件人:地址”的Nodemailer不会更改
- TypeError:访问Firebase工具时,Buffer.alloc不是一个函数
- 无法在多个文件中拆分Firebasefunction
- Firebase倒数计时器跨多个客户端同步
- 是否有可能在node.js中运行firebase消息传递?
- Firebase:如何以编程方式为类似于`firebase.auth()。currentUser.getIdToken(false)`的特定用户生成一个jwt标记?
- firebasefunction来触发通知
- 获取Firebase参考的path