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();
编译没有错误。
- 使用firebase托pipenodeJS应用程序
- 如何只获取Firebase数据库的更改值?
- Firebase:如何以编程方式为类似于`firebase.auth()。currentUser.getIdToken(false)`的特定用户生成一个jwt标记?
- Firebase Node.js SDK未经身份validation的访问
- 使用Node / Express从Firebase中读取数据
- 无法使用GitHub个人访问令牌validationFirebase(以前工作)
- 如何使用Node.js在Firebase中注册用户?
- 刷新Firebase令牌
- Firebase RangeError:检索数据时string的长度无效