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

Docker构建Remix项目报错:remix vite:build未找到

问题解决:Docker构建Remix时remix: not found错误

问题原因

  1. 构建依赖缺失:你执行npm install --omit=dev跳过了开发依赖,但remix vite:build命令由@remix-run/dev提供,这个包属于devDependencies,因此构建阶段找不到对应命令。
  2. 废弃包冗余:remix包已被官方废弃,当前Remix Vite架构下,构建工具已集成在@remix-run/dev中,无需单独安装remix包。

解决方案

1. 改用Docker多阶段构建(推荐)

多阶段构建可以在编译阶段安装全量依赖完成构建,再在生产阶段仅保留运行时依赖,既解决命令缺失问题,又能大幅减小镜像体积:

# 构建阶段:完成代码编译
FROM node:20-bullseye-slim AS builder

RUN apt-get update && apt-get install -y openssl sqlite3

WORKDIR /app

COPY package.json package-lock.json ./
RUN npm install

RUN npx prisma generate

COPY . .
RUN npm run build

# 生产阶段:仅保留运行必需文件
FROM node:20-bullseye-slim

RUN apt-get update && apt-get install -y openssl sqlite3

WORKDIR /app

COPY --from=builder /app/package.json /app/package-lock.json ./
RUN npm install --omit=dev

COPY --from=builder /app/build ./build
COPY --from=builder /app/prisma ./prisma
COPY --from=builder /app/public ./public

EXPOSE 3000
ENV DATABASE_URL=file:./dev.db
ENV PORT=3000
ENV NODE_ENV=production
CMD [ "npm", "run", "start" ]

2. 修正package.json配置

  • 移除dependencies中废弃的remix包:
// 删除这一行
"remix": "^2.10.3"
  • 保留现有build脚本即可(@remix-run/dev已包含该命令支持):
"scripts": {
  "build": "remix vite:build",
  // 其余脚本保持不变
}

临时应急方案(不推荐,镜像体积偏大)

若不想调整多阶段构建,可临时取消--omit=dev参数,安装全量依赖完成构建:

# 替换原安装命令
RUN npm install
# 后续构建步骤不变

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 16:22:09