无法加载提供的模块 - Firebase Cloud Functions

问题描述 投票:0回答:1

我正在尝试编写要在 Firebase Cloud Functions 中部署的 Node.js 函数。我正在编写的函数需要使用faker.js来帮助创建模拟测试数据。

Could not create or update Cloud Run service createfakeprofiles, Container Healthcheck failed. Revision 'createfakeprofiles-00006-moh' is not ready and cannot serve traffic. The user-provided container failed to start and listen on the port defined provided by the PORT=8080 environment variable. Logs for this revision might contain more information.

Logs URL: https://console.cloud.google.com/logs/viewer?project=test-app&resource=cloud_run_revision/service_name/createfakeprofiles/revision_name/createfakeprofiles-00006-moh&advancedFilter=resource.type%3D%22cloud_run_revision%22%0Aresource.labels.service_name%3D%22createfakeprofiles%22%0Aresource.labels.revision_name%3D%22createfakeprofiles-00006-moh%22 
For more troubleshooting guidance, see https://cloud.google.com/run/docs/troubleshooting#container-failed-to-start

我仔细查看了日志,这就是输出:

createfakeprofiles: Detailed stack trace: Error: Cannot find module '@faker-js/faker'
2024-03-09T02:57:32.133007Z ? createfakeprofiles: Require stack:
2024-03-09T02:57:32.133013Z ? createfakeprofiles: - /workspace/index.js
2024-03-09T02:57:32.133020Z ? createfakeprofiles: - /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/loader.js
2024-03-09T02:57:32.133029Z ? createfakeprofiles: - /layers/google.nodejs.functions-framework/functions-framework/node_modules/@google-cloud/functions-framework/build/src/main.js
2024-03-09T02:57:32.133043Z ? createfakeprofiles:     at Module._resolveFilename (node:internal/modules/cjs/loader:1134:15)
2024-03-09T02:57:32.133049Z ? createfakeprofiles:     at Module._load (node:internal/modules/cjs/loader:975:27)
2024-03-09T02:57:32.133056Z ? createfakeprofiles:     at Module.require (node:internal/modules/cjs/loader:1225:19)
2024-03-09T02:57:32.133062Z ? createfakeprofiles:     at require (node:internal/modules/helpers:177:18)
2024-03-09T02:57:32.133069Z ? createfakeprofiles:     at Object.<anonymous> (/workspace/index.js:14:17)
2024-03-09T02:57:32.133075Z ? createfakeprofiles:     at Module._compile (node:internal/modules/cjs/loader:1356:14)
2024-03-09T02:57:32.133082Z ? createfakeprofiles:     at Module._extensions..js (node:internal/modules/cjs/loader:1414:10)
2024-03-09T02:57:32.133087Z ? createfakeprofiles:     at Module.load (node:internal/modules/cjs/loader:1197:32)
2024-03-09T02:57:32.133093Z ? createfakeprofiles:     at Module._load (node:internal/modules/cjs/loader:1013:12)
2024-03-09T02:57:32.133100Z ? createfakeprofiles:     at Module.require (node:internal/modules/cjs/loader:1225:19)
2024-03-09T02:57:32.133387Z ? createfakeprofiles: Could not load the function, shutting down.
2024-03-09T02:57:32.702663418Z W createfakeprofiles: Container called exit(1).

我的package.json:

{
  "name": "functions",
  "description": "Cloud Functions for Firebase",
  "scripts": {
    "lint": "eslint .",
    "serve": "firebase emulators:start --only functions",
    "shell": "firebase functions:shell",
    "start": "npm run shell",
    "deploy": "firebase deploy --only functions",
    "logs": "firebase functions:log"
  },
  "engines": {
    "node": "18"
  },
  "main": "index.js",
  "dependencies": {
    "@faker-js/faker": "^8.4.1",
    "@google-cloud/secret-manager": "^5.1.0",
    "firebase-admin": "^11.8.0",
    "firebase-functions": "^4.3.1"
  },
  "devDependencies": {
    "@faker-js/faker": "^8.4.1",
    "eslint": "^8.15.0",
    "eslint-config-google": "^0.14.0",
    "firebase-functions-test": "^3.1.0"
  },
  "private": true
}

我已确保安装 faker 并且它显示在我的依赖项中,但我无法弄清楚这些错误来自何处。

我还确保我在正确的位置运行安装命令:

functions/
     - node_modules/
     - index.js
     - package.json

faker 列在

packages.json
中,那么我这里哪里出错了?

node.js firebase google-cloud-functions faker.js
1个回答
0
投票

在尝试了这里列出的所有潜在解决方案之后,这实际上是最后一个为我做到的解决方案。我已将

@faker-js/faker
包含在我的
dependencies
AND
devDependencies
中,所以我将其从
devDependencies
中删除,问题就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.