node.js - 尝试将谷歌云功能与 node.js 一起使用时,admin.firestore 不是一个功能

标签 node.js firebase google-cloud-functions google-cloud-firestore

这是 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”命令时,这是我得到的错误:

Error: Error occurred while parsing your function triggers.
TypeError: admin.firestore is not a function

询问Firebase

最佳答案

我能够重现错误并暴力破解解决方案。我对 npm 了解不多,也无法完整解释此解决方案为何有效。

我原来的 package.json 包含:

  "dependencies": {
    ...
    "firebase-admin": "^4.2.1",
    "firebase-functions": "^0.7.1",
    ...
  },

作为 recommended in the documentation ,我在functions文件夹中运行了这两个命令:

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。这样,package.json 包含版本 "firebase-admin": "^5.4.2"var db = admin.firestore(); 编译无误。

关于node.js - 尝试将谷歌云功能与 node.js 一起使用时,admin.firestore 不是一个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46679472/

相关文章:

reactjs - React-redux 与 re-base-firebase。好主意?

javascript - Firebase Cloud 在从之前的工作函数复制的代码中出现意外的 token ?

javascript - Node JS : Extract a sentence from html text based on a phrase

mysql - 使用 Express.js 的 Web 和移动应用程序的最佳实践

javascript - XMLHttpRequest 无法加载 https ://firestore. googleapis..... 由于访问控制检查

swift - Firebase 和 Swift 的重置密码问题

javascript - NodeJS 和 Express 身份验证中间件无法正常运行

javascript - ForbiddenError : invalid csrf token, express js

node.js - Google Cloud Function Node JS SFTP 到云存储传输文件错误

node.js - 为什么这个 firebase 函数会递归运行?