Docker部署React+Vite项目报错:vite: not found
解决Docker构建时
vite: not found的问题 核心原因
Vite被你放在了devDependencies中,而Docker默认执行npm install时会以生产模式运行,自动跳过devDependencies内的包安装,导致容器内没有Vite可执行文件。
解决方案
1. 强制Docker安装开发依赖
修改dev.Dockerfile中的npm install命令,明确包含开发依赖:
FROM node:latest RUN mkdir /app WORKDIR /app COPY package*.json ./ # 明确安装所有依赖(包括开发依赖) RUN npm install --include=dev COPY . . CMD ["npm", "run", "dev"]
或者通过设置环境变量指定开发环境:
FROM node:latest RUN mkdir /app WORKDIR /app # 设置为开发环境,npm install会自动安装devDependencies ENV NODE_ENV=development COPY package*.json ./ RUN npm install COPY . . CMD ["npm", "run", "dev"]
2. 补充缺失的Vite React插件
你的vite.config.js中使用了@vitejs/plugin-react,但当前package.json的devDependencies里没有这个包,后续启动时会出现新的错误。需要安装该插件:
npm install @vitejs/plugin-react --save-dev
更新package.json后,确保构建时该插件能被安装到容器中。
3. 验证配置正确性
- 确认
./frontend目录下的package.json是最新修改后的版本,避免Docker复制旧的依赖配置。 - 你的
docker-compose-dev.yml中配置的/app/node_modules匿名卷能避免本地node_modules覆盖容器内的依赖,该配置无需修改。
内容的提问来源于stack exchange,提问作者Synchro
相关产品推荐
相关产品推荐

