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

部署Google Cloud后遇Cannot find module '/workspace/server.js'问题求助

解决Google Cloud部署Node.js应用时"Cannot find module '/workspace/server.js'"的问题

核心排查方向与解决方案

1. 校验package.json入口配置

  • 确保package.json中的main字段指向正确的入口文件,例如:"main": "server.js"
  • 同时确认scripts.start命令与入口路径匹配,比如:"start": "node server.js";如果入口文件在子目录(如src/server.js),则改为"start": "node ./src/server.js"

2. 确认部署包包含入口文件

  • 检查.gcloudignore文件,确保server.js或其所在目录没有被排除;默认的.gcloudignore可能包含node_modules(App Engine会自动安装依赖),但不要排除入口文件和源码目录
  • 执行gcloud app deploy --dry-run,查看生成的临时部署包,确认server.js存在于根目录(对应云端的/workspace)

3. 调整app.yaml配置适配应用类型

如果是纯静态前端项目(如React/Vue构建产物)

移除script: auto配置,改用静态文件路由覆盖所有请求,示例:

runtime: nodejs16
instance_class: B1
service: adminoper
basic_scaling:
  max_instances: 1
  idle_timeout: 10m

handlers:
- url: /static
  static_dir: build/static
- url: /(.*\.(json|ico|js|css|png))$
  static_files: build/\1
  upload: build/.*\.(json|ico|js|css|png)$
- url: .*
  static_files: build/index.html
  upload: build/index.html

如果是Node.js后端服务

确保静态文件路由不会覆盖API请求,调整handler顺序,优先处理API路由,例如:

runtime: nodejs16
instance_class: B1
service: adminoper
basic_scaling:
  max_instances: 1
  idle_timeout: 10m

handlers:
- url: /api/.*
  secure: always
  redirect_http_response_code: 301
  script: auto
- url: /
  static_dir: build

4. 查看详细错误日志定位问题

  • 登录Google Cloud Console,进入App Engine > 服务 > adminoper > 日志,查看完整错误栈,确认是文件路径缺失还是依赖未安装
  • 执行gcloud app deploy --verbosity=debug,查看部署过程中的文件上传日志,确认入口文件是否被成功上传

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 05:55:18