You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Cloud Shell运行npm start报apiKey未定义错误 本地VS Code运行无异常

问题根因

报错是Mailgun组件初始化时未读取到必填的apiKey配置触发的。本地VS Code和线上生产环境运行正常,仅Google Cloud Shell的staging环境报错,核心原因是staging环境的敏感配置项没有正确配置。

排查修复步骤
  • 确认项目中Mailgun apiKey的读取逻辑:这类敏感配置不会硬编码在代码中,基本都是通过process.env读取对应环境变量获取
  • 检查Cloud Shell当前会话的环境变量:执行printenv | grep [你代码中定义的Mailgun apiKey环境变量名],无输出则说明环境变量未配置
  • 核对.env文件:如果你用.env文件管理本地配置,确认Cloud Shell的项目目录下是否存在该文件,多数项目会把.env加入.gitignore规则,从代码仓库拉取代码时不会同步该文件,需要你手动创建并填入正确的apiKey值
  • 核对GCP密钥配置:如果你用GCP Secret Manager管理密钥,确认Cloud Shell所用的服务账号有对应密钥的读取权限,同时项目启动脚本已经配置了从Secret Manager拉取密钥注入环境变量的逻辑
  • 配置完成后重新执行npm start即可正常启动

对应错误信息翻译如下:

throw new Error('apiKey value must be defined!')
      ^

错误:apiKey值必须定义!
    at new Mailgun (/home/nuveqsb/hello-world/test-staging/api/node_modules/mailgun-js/lib/mailgun.js:16:13)
    at create (/home/nuveqsb/hello-world/test-staging/api/node_modules/mailgun-js/lib/mailgun.js:239:10)
    at Object.<anonymous> (/home/nuveqsb/hello-world/test-staging/api/utils/onesignal.js:27:33)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:94:18)
    at Object.<anonymous> (/home/nuveqsb/hello-world/test-staging/api/utils/notify.js:4:12) 

内容的提问来源于stack exchange,提问作者John Titor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 03:36:03