微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Firebase 函数节点 JS:找不到模块“./auth/credential”

如何解决Firebase 函数节点 JS:找不到模块“./auth/credential”

更新到最新依赖项后,我的 Firebase 函数后端将不会在 firebase emulators:startfirebase functions:shell 中运行。它失败并出现以下异常

- C:\Users\yannk\AppData\Roaming\npm\node_modules\firebase-tools\lib\emulator\functionsEmulatorRuntime.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
    at Function.Module._load (internal/modules/cjs/loader.js:690:27)
    at Module.require (internal/modules/cjs/loader.js:852:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Project\projdir\firebase\functions\node_modules\firebase-admin\lib\firebase-namespace.js:23:20)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Module.require (internal/modules/cjs/loader.js:852:19) {"Metadata":{"emulator":{"name":"functions"},"message":"[runtime-status] [23304] Error in handleMessage: {\"frb\":{\"cwd\":\"C:\\\\Project\\\\projdir\\\\firebase\\\\functions\",\"projectId\":\"snapdiscover-luminarcom\",\"triggerId\":\"\",\"emulators\":{\"firestore\":{\"name\":\"firestore\",\"host\":\"192.168.112.113\",\"port\":8080,\"pid\":23900},\"auth\":{\"name\":\"auth\",\"port\":9099}},\"adminSdkConfig\":{\"databaseURL\":\"https://snapdiscover-luminarcom.firebaseio.com\",\"storageBucket\":\"snapdiscover-luminarcom.appspot.com\"},\"socketPath\":\"\\\\\\\\?\\\\pipe\\\\C:\\\\Project\\\\projdir\\\\firebase\\\\functions\\\\23304\"},\"opts\":{\"nodeBinary\":\"C:\\\\Program Files\\\\nodejs\\\\node.exe\",\"env\":{}}} => Error: Cannot find module './auth/credential'\nRequire stack:\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\firebase-namespace.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\default-namespace.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\index.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-functions\\lib\\apps.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-functions\\lib\\providers\\database.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-functions\\lib\\index.js\n- C:\\Users\\yannk\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js: Error: Cannot find module './auth/credential'\nRequire stack:\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\firebase-namespace.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\default-namespace.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\index.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-functions\\lib\\apps.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-functions\\lib\\providers\\database.js\n- C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-functions\\lib\\index.js\n- C:\\Users\\yannk\\AppData\\Roaming\\npm\\node_modules\\firebase-tools\\lib\\emulator\\functionsEmulatorRuntime.js\n    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)\n    at Function.Module._load (internal/modules/cjs/loader.js:690:27)\n    at Module.require (internal/modules/cjs/loader.js:852:19)\n    at require (internal/modules/cjs/helpers.js:74:18)\n    at Object.<anonymous> (C:\\Project\\projdir\\firebase\\functions\\node_modules\\firebase-admin\\lib\\firebase-namespace.js:23:20)\n    at Module._compile (internal/modules/cjs/loader.js:959:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)\n    at Module.load (internal/modules/cjs/loader.js:815:32)\n    at Function.Module._load (internal/modules/cjs/loader.js:727:14)\n    at Module.require (internal/modules/cjs/loader.js:852:19)"}}
[warn] !  functions: Cannot find module './auth/credential'
Require stack:
- C:\Project\projdir\firebase\functions\node_modules\firebase-admin\lib\firebase-namespace.js
- C:\Project\projdir\firebase\functions\node_modules\firebase-admin\lib\default-namespace.js
- C:\Project\projdir\firebase\functions\node_modules\firebase-admin\lib\index.js
- C:\Project\projdir\firebase\functions\node_modules\firebase-functions\lib\apps.js
- C:\Project\projdir\firebase\functions\node_modules\firebase-functions\lib\providers\database.js
- C:\Project\projdir\firebase\functions\node_modules\firebase-functions\lib\index.js

我试过了

  • 将所有内容更新到最新的依赖项(使用 ncu -u
  • 确保 admin.initializeApp() 被调用

index.ts

import * as admin from 'firebase-admin'


admin.initializeApp()

[...]

我也尝试过显式初始化应用

index.ts

import { ServiceAccount,initializeApp,credential } from 'firebase-admin' 
import * as serviceAccount from './api-key.json'


initializeApp({
    credential: credential.cert(<ServiceAccount>{
        projectId: serviceAccount.project_id,clientEmail: serviceAccount.client_email,privateKey: serviceAccount.private_key
    })
})
[...]

两者都给出相同的错误。我需要在将代码部署到后端之前对其进行测试。 任何帮助或提示表示赞赏。谢谢

编辑:现在出现一个错误

[warn] !  TypeError: util.assign is not a function
    at Object.<anonymous> (C:\Project\projdir\firebase\functions\node_modules\qs\lib\formats.js:13:23)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Module.require (internal/modules/cjs/loader.js:852:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (C:\Project\projdir\firebase\functions\node_modules\qs\lib\utils.js:3:15)
    at Module._compile (internal/modules/cjs/loader.js:959:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10) {"Metadata":{"emulator":{"name":"functions"},"message":"TypeError: util.assign is not a function\n    at Object.<anonymous> (C:\\Project\\projdir\\firebase\\functions\\node_modules\\qs\\lib\\formats.js:13:23)\n    at Module._compile (internal/modules/cjs/loader.js:959:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)\n    at Module.load (internal/modules/cjs/loader.js:815:32)\n    at Function.Module._load (internal/modules/cjs/loader.js:727:14)\n    at Module.require (internal/modules/cjs/loader.js:852:19)\n    at require (internal/modules/cjs/helpers.js:74:18)\n    at Object.<anonymous> (C:\\Project\\projdir\\firebase\\functions\\node_modules\\qs\\lib\\utils.js:3:15)\n    at Module._compile (internal/modules/cjs/loader.js:959:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)"}}

这是我的 package.json

{
  "name": "functions","scripts": {
    "lint": "tslint --project tsconfig.json","build": "tsc","serve": "npm run build && firebase emulators:start --only functions","shell": "npm run build && firebase functions:shell","start": "npm run shell","deploy": "firebase deploy --only functions","logs": "firebase functions:log","test": "mocha --reporter spec"
  },"engines": {
    "node": "10"
  },"main": "lib/index.js","dependencies": {
    "@types/axios": "^0.14.0","axios": "^0.21.1","bad-words": "^3.0.4","capitalize-sentence": "^0.1.5","crypto": "^1.0.1","firebase-admin": "^9.6.0","firebase-functions": "^3.13.2","firebase-tools": "^9.8.0","perspective-api-client": "^3.1.0","qs": "^6.10.1"
  },"devDependencies": {
    "firebase-functions-test": "^0.2.3","mocha": "^8.3.2","tslint": "^5.20.1","typescript": "^4.2.3"
  },"private": true
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?