如何解决Firebase 函数节点 JS:找不到模块“./auth/credential”
更新到最新依赖项后,我的 Firebase 函数后端将不会在 firebase emulators:start
或 firebase 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
我试过了
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 举报,一经查实,本站将立刻删除。