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

Vue3项目Docker化开发环境启动报错:vite: not found

解决Docker Compose启动Vue3开发环境时vite:not found的问题

问题根源

你在Dockerfile的develop-stage里已经通过yarn安装了所有依赖,但docker-compose配置里把本地当前目录.挂载到了容器的/app,这会直接覆盖容器内/app目录下的所有内容,包括已经安装好的node_modules。如果本地没有提前安装依赖(或者node_modules被.gitignore排除了),容器里就找不到vite的可执行文件,自然报错。

解决方案

方案一:用匿名卷保留容器内的node_modules(推荐)

修改docker-compose.yml的volumes配置,添加一个匿名卷来单独保留容器里的node_modules,避免被本地目录覆盖:

version: '3.7'
services:
  vue-app:
    build:
      context: .
      target: 'develop-stage'
    ports:
    - '8080:8080'
    volumes:
    - '.:/app'
    - '/app/node_modules'  # 新增这一行,保留容器内的node_modules
    command: yarn dev

这个配置会让Docker创建一个匿名卷存储/app/node_modules,本地挂载的目录不会覆盖这个路径,容器内安装好的依赖就能正常使用。

方案二:本地提前安装依赖(不推荐,跨系统可能有问题)

在本地项目根目录执行yarn install,确保本地有node_modules目录,这样挂载到容器后,依赖也能被读取到。但这种方式可能因为本地和容器的系统环境不同(比如Windows vs Linux),导致依赖出现兼容性问题。

方案三:启动时重新安装依赖(临时应急用)

修改docker-compose的command,先执行依赖安装再启动开发服务:

command: yarn install && yarn dev

这种方式每次启动容器都会重新安装依赖,速度较慢,适合临时测试用。

验证修改

修改配置后,执行以下命令重新构建并启动容器:

docker-compose up --build

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 05:42:07