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

部署Nest.js至Digital Ocean App Platform遇MODULE_NOT_FOUND错误求助

解决Nest.js部署至Digital Ocean App Platform时的MODULE_NOT_FOUND错误

针对你遇到的Cannot find module '/workspace/dist/main'错误,以下是几个实际可行的排查和解决步骤:

  • 检查构建脚本与执行状态
    确认package.json中的build命令是nest build——这是Nest.js默认的编译命令,会将产物输出到dist目录。然后查看Digital Ocean的构建日志,确保npm run build步骤被正确执行且没有报错。如果构建步骤跳过或失败,自然不会生成dist目录。

  • 修正启动命令的路径
    不要使用绝对路径,直接用相对路径即可。正确的start:prod命令应该是:

    "scripts": {
      "build": "nest build",
      "start:prod": "node dist/main"
    }
    

    因为Digital Ocean执行启动命令时的工作目录就是你的项目根目录(/workspace),相对路径dist/main会被正确解析。

  • 确认项目根目录配置
    如果你的Nest.js项目是在仓库的子目录中(比如monorepo结构),需要在Digital Ocean App Platform的应用设置里,找到"Root Directory"选项,设置为你的项目所在的子目录路径。否则DO会在根仓库目录下寻找dist文件夹,自然找不到。

  • 检查.gitignore配置
    确保.gitignore中没有添加dist/规则,或者即使添加了,也要保证DO的构建流程中执行了npm run build。如果dist被git忽略且构建步骤没生成,就会出现找不到文件的情况。

  • 查看构建日志细节
    进入DO应用的"Builds"标签页,仔细查看每一步的日志输出:

    • 确认npm install是否成功安装了所有依赖(包括@nestjs/cli,否则nest build无法执行)
    • 确认npm run build执行后,是否有生成dist目录的日志提示
    • 确认构建完成后,/workspace目录下确实存在dist文件夹

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:31:16