【问题标题】:Trying to deploy my first google cloud function - express not found尝试部署我的第一个谷歌云功能 - 找不到快递
【发布时间】:2025-12-29 12:55:15
【问题描述】:

我正在尝试部署我的第一个谷歌云功能,其代码在这里:

https://github.com/rldaulton/GCF-Stripe/blob/master/Charge%20Customer/index.js

从这一行开始:

var app = require('express')();
var http = require('http').Server(app);

但是,当我尝试使用 Node6 进行部署并执行函数名称 chargeCustomer 时出现此错误:

Function failed on loading user code. Error message: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'express'
    at Function.Module._resolveFilename (module.js:476:15)
    at Function.Module._load (module.js:424:25)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/user_code/index.js:1:91)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)

好像我缺少模块 express。如何添加?

【问题讨论】:

  • npm install express

标签: javascript express google-cloud-functions


【解决方案1】:

当您使用 Cloud Functions 部署 Node.js 代码函数时,您还有责任提供格式良好的 package.json 文件,该文件声明您的函数所需的依赖项,这些依赖项通常与代码中的 requires() 语句相匹配。在您的示例中,您的代码需要 express,因此您必须提供一个 package.json 声明您需要 express。例如:

{
  "dependencies": {
    "express": "^4.16.4"
  }
}

这是 Google 文档的 link,与 Node.js for Cloud Functions 的依赖关系相关。

【讨论】: