You need to enable JavaScript to run this app. Docker Compose运行React/Express项目报Missing script: "dev"但脚本实际存在如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Docker Compose运行React/Express项目报Missing script: "dev"但脚本实际存在如何解决

问题根因

错误出在docker-compose.yml中server服务的volumes挂载配置:你配置的- ./server/src/:/app/server会把本地./server/src目录直接覆盖容器内的/app/server工作目录。
你在Dockerfile构建阶段拷贝到/app/server下的package.json、package-lock.json、安装好的node_modules都被本地src目录完全替换,容器运行时工作目录下根本没有package.json文件,自然识别不到dev脚本。本地执行时你是在server根目录运行,目录下存在完整的package.json所以没有问题。

同时你配置的客户端volumes挂载也存在同样的逻辑问题,后续启动客户端也会出现类似报错。

修复方案
  • 修改server服务的volumes挂载规则,不要直接覆盖整个工作目录,仅挂载需要热更新的源码子目录即可:
services:
    server:
        # 其余配置保留不变
        volumes:
            - ./server/src/:/app/server/src
            # 可选:添加匿名卷保留node_modules,避免每次构建重复安装依赖
            - /app/server/node_modules
  • 同步修改client服务的volumes挂载规则,避免覆盖客户端工作目录:
services:
    client:
        # 其余配置保留不变
        volumes: 
            - ./client/src/:/app/client/src
            - /app/client/node_modules
验证操作

修改配置后先执行docker-compose down -v删除旧容器和残留匿名卷,再执行docker-compose up --build重新构建启动即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 18:57:03