在“/app/.next”目录中找不到生产版本。在启动生产服务器之前尝试使用“下一个构建”构建您的应用程序

sam*_*sam 3 docker dockerfile next.js

运行 next.js 应用程序映像时出现错误:

准备好 - 在 0.0.0.0:3000 上启动服务器,url: http://localhost:3000

错误:无法在“/app/.next”目录中找到生产版本。在启动生产服务器之前,尝试使用“下一个构建”构建您的应用程序。 新服务器上的 NextNodeServer.getBuildId (/app/node_modules/next/dist/server/next-server.js:137:23) 处的https://nextjs.org/docs/messages/product-start-no-build-id (/app/node_modules/next/dist/server/base-server.js:93:29) 在 NextServer 的新 NextNodeServer (/app/node_modules/next/dist/server/next-server.js:86:9) 处。 createServer (/app/node_modules/next/dist/server/next.js:109:16) 在 async /app/node_modules/next/dist/server/next.js:121:31 npm 错误!代码 ELIFECYCLE npm 错误!errno 1 npm 错误!anubis-aio@0.1.0 开始:next start npm 错误!退出状态 1 npm ERR!npm 错误!anubis-aio@0.1.0 启动脚本失败。npm 错误!这可能不是 npm 的问题。上面可能有额外的日志输出。npm 错误!可以在以下位置找到此运行的完整日志:npm ERR!/root/.npm/_logs/2022-05-11T12_32_58_222Z-debug.log

Dockerfile:

FROM node:14-alpine AS deps
WORKDIR /app

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



FROM node:14-alpine AS builder
WORKDIR /app
COPY --from=deps /app ./
RUN npm build


FROM node:14-alpine AS runner
WORKDIR /app

COPY --from=builder /app/package*.json ./
COPY --from=builder /app/public ./public
COPY --from=builder /app/.next ./.next
RUN npm install next

EXPOSE 3000
CMD ["npm","run","start"]
Run Code Online (Sandbox Code Playgroud)

我需要在 dockerignore 中添加 .next 吗?这样做会在构建图像时出现错误

Mou*_*esh 7

下面的命令解决了我的错误

npm run build
Run Code Online (Sandbox Code Playgroud)

  • 我也遇到了同样的错误。“npm run build”解决了这个问题。 (3认同)