Docker构建Vite未找到及全局安装卡顿问题求助
解决方案
1. 修复依赖安装不完整问题
Docker构建时默认会将NODE_ENV设为production,npm在这个环境下会自动跳过devDependencies中的包,这就是Vite没被安装的原因。解决办法有两种:
- 直接修改install命令,强制安装所有依赖:
RUN npm install --verbose --production=false - 先设置开发环境变量,再执行安装:
ENV NODE_ENV=development RUN npm install --verbose
如果需要最终镜像为生产环境,推荐用多阶段构建,避免把开发依赖带入镜像:
# 第一阶段:构建产物 FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm install --verbose COPY . . RUN npm run build # 第二阶段:生产镜像 FROM node:20-alpine WORKDIR /app COPY --from=builder /app/dist ./dist COPY package*.json ./ RUN npm install --verbose --only=production CMD ["node", "server.js"]
2. 解决全局安装Vite卡顿问题
卡顿基本是网络源的问题,切换国内镜像源即可:
- 直接在安装命令中指定源:
RUN npm install -g vite --verbose --registry=https://registry.npmmirror.com - 或者先全局配置源再安装:
RUN npm config set registry https://registry.npmmirror.com RUN npm install -g vite --verbose
3. 检查脚本与版本兼容性
- 确认
package.json中的build脚本正确调用Vite,例如:"scripts": { "build": "vite build" } - 确保Docker使用的Node版本和本地一致,版本不兼容可能导致依赖安装异常,比如本地用Node 18,Docker就指定
FROM node:18-alpine
内容的提问来源于stack exchange,提问作者naqibam
相关产品推荐
相关产品推荐

