Firebase云函数日志错误类型错误:无法读取未定义的属性(阅读“名称”)

yacmzcpb  于 2023-05-18  发布在  其他
关注(0)|答案(1)|浏览(144)

总nube问题从一个爱好开发人员-感谢任何帮助。4年前(新冠肺炎前),我有一个使用Firebase实时数据库和云函数开发的移动的应用程序,它移动了一堆我的代码服务器端来监视数据库的更改,然后计算值并对数据库进行其他更改。只是一个供个人使用的应用程序。完全是爱好。
没有碰过它,也没有做过任何其他的开发。现在,我正试图更新一切--包括摆脱我开发技能上的 rust 迹。让应用程序再次运行,它与FB实时数据库的交互很好。我已经能够恢复云函数,可以获取代码,从Node.js8 --> 18更新它,并使其处于活动状态,当数据库更改时,它会触发。但是,一开始就犯了错误。我确信这是一个“你需要更新新版本,参数等”的情况。但是,还没有能够找到任何细节的设置/参数,需要改变。
日志错误如下所示:

我假设它所指的'name'来自package.json和/或package-lock.json,所以我也在下面显示它们。
任何想法/建议?谢谢!
package.json:

{
  "engines": { "node": "18" },
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "serve": "firebase serve --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "dependencies": {
    "firebase-admin": "~7.0.0",
    "firebase-functions": "^2.2.0"
  },
  "private": true
}

package-lock.json(因为太长了,所以只显示了开头):

{
  "name": "functions",
  "requires": true,
  "lockfileVersion": 1,
  "dependencies": {
    "@firebase/app": {
      "version": "0.3.16",
      "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.3.16.tgz",
      "integrity": "sha512-rZMu9EwiQsLVyNd5R847OY5rVxZ99OEbw/Vf/AxfUFb8TyA+Fp/sgwnuB+M4xltkTECh1ouR4pByg1mJgnYzMQ==",
      "requires": {
        "@firebase/app-types": "0.3.9",
        "@firebase/util": "0.2.13",
        "dom-storage": "2.1.0",
        "tslib": "1.9.3",
        "xmlhttprequest": "1.8.0"
      }
    },
    "@firebase/app-types": {
      "version": "0.3.9",
      "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.3.9.tgz",
      "integrity": "sha512-XI+jfMTghpXnK13oCPPMF69AV1dn1HsmjPZvobtyy2K4gzPWIRpavLNA9+yzThHBJQCbTJa2Igqe1H0tZ5+bTA=="
    },
    "@firebase/database": {
      "version": "0.3.19",
      "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.3.19.tgz",
      "integrity": "sha512-o1/1BXE3t2UOpntGDD9/eAGG4OqM8KtLEB4l2Ual/B6GPXmUOS7m1RP36QHmLfCFcnzo4z29gZHnbk0Tq7XSVg==",
      "requires": {
        "@firebase/database-types": "0.3.10",
        "@firebase/logger": "0.1.12",
        "@firebase/util": "0.2.13",
        "faye-websocket": "0.11.1",
        "tslib": "1.9.3"
      }
    },
    "@firebase/database-types": {
      "version": "0.3.10",
      "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.3.10.tgz",
      "integrity": "sha512-yREigbf0wOaIIbipX2yK7O5YU0IlbsPFSET8MZHvesAB9b4/AZcDZ2zeJiXZTWmxb5EDbngFsUvmGBuxRNPsfw=="
    },
    "@firebase/logger": {
      "version": "0.1.12",
      "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.1.12.tgz",
      "integrity": "sha512-8IK99J/gwl0hRRogYQVmvk43gu949uPvvqdM0Bn36/PhveHYs6zIPavD+DuaTkn78L3Wzd+/XPNWWod7qNna+A=="
    },

云函数正在被调用/触发,但它从一开始就出错。

qaxu7uf2

qaxu7uf21#

似乎firebase-functions模块的问题很老。最新版本是4.4.0.使用以下命令进行升级:

npm install firebase-functions@latest

同时确保您需要更新functions directory中的firebase-function模块

cd functions
npm install firebase-functions@latest

然后将firebase.json更新为

"runtime": "nodejs18"

还要确保package.json中安装的依赖项与Firebase-functions版本兼容。
同样正如@史蒂文森在评论中所建议的那样,最好从头开始,尝试将您拥有的代码移植到现代项目结构中。由于您正在使用4年,该产品已演变了很多在此期间。您可以使用此Documentation查看。

相关问题