【部署方案】Zeabur部署,Nodejs版本不兼容
描述遇到的问题 在按照之前的教程使用zeabur部署的时候出现了问题如下,想问问现在还可以使用zeabur来部署吗?
相应配置 notion_page_id:8d6c18dfb57648d78e352efdc1153b9b
截图
16:01:58#0 building with "default" instance using docker driver
16:01:58
16:01:58#1 [internal] load .dockerignore
16:01:58#1 transferring context: 46B done
16:01:58#1 DONE 0.1s
16:01:58
16:01:58#2 [internal] load build definition from Dockerfile
16:01:58#2 transferring dockerfile: 879B done
16:01:58#2 DONE 0.1s
16:01:58
16:01:58#3 [internal] load metadata for docker.io/library/node:14-alpine
16:02:01#3 DONE 2.4s
16:02:01
16:02:01#4 [internal] load build context
16:02:01#4 DONE 0.0s
16:02:01
16:02:01#5 [deps 1/5] FROM docker.io/library/node:14-alpine@sha256:434215b487a329c9e867202ff89e704d3a75e554822e07f3e0c0f9e606121b33
16:02:01#5 resolve docker.io/library/node:14-alpine@sha256:434215b487a329c9e867202ff89e704d3a75e554822e07f3e0c0f9e606121b33 0.0s done
16:02:01#5 DONE 0.0s
16:02:01
16:02:01#5 [deps 1/5] FROM docker.io/library/node:14-alpine@sha256:434215b487a329c9e867202ff89e704d3a75e554822e07f3e0c0f9e606121b33
16:02:01#5 sha256:e5fca6c395a62ec277102af9e5283f6edb43b3e4f20f798e3ce7e425be226ba6 0B / 2.37MB 0.1s
16:02:01#5 sha256:434215b487a329c9e867202ff89e704d3a75e554822e07f3e0c0f9e606121b33 1.43kB / 1.43kB done
16:02:01#5 sha256:4e84c956cd276af9ed14a8b2939a734364c2b0042485e90e1b97175e73dfd548 1.16kB / 1.16kB done
16:02:01#5 sha256:0dac3dc27b1ad570e6c3a7f7cd29e88e7130ff0cad31b2ec5a0f222fbe971bdb 6.44kB / 6.44kB done
16:02:01#5 sha256:f56be85fc22e46face30e2c3de3f7fe7c15f8fd7c4e5add29d7f64b87abdaa09 0B / 3.37MB 0.1s
16:02:01#5 sha256:8f665685b215c7daf9164545f1bbdd74d800af77d0d267db31fe0345c0c8fb8b 0B / 37.17MB 0.1s
16:02:01#5 ...
16:02:01
16:02:01#4 [internal] load build context
16:02:01#4 transferring context: 12.37MB 0.2s done
16:02:01#4 DONE 0.2s
16:02:01
16:02:02#5 [deps 1/5] FROM docker.io/library/node:14-alpine@sha256:434215b487a329c9e867202ff89e704d3a75e554822e07f3e0c0f9e606121b33
16:02:02#5 sha256:f56be85fc22e46face30e2c3de3f7fe7c15f8fd7c4e5add29d7f64b87abdaa09 3.37MB / 3.37MB 0.3s done
16:02:02#5 extracting sha256:f56be85fc22e46face30e2c3de3f7fe7c15f8fd7c4e5add29d7f64b87abdaa09
16:02:02#5 sha256:8f665685b215c7daf9164545f1bbdd74d800af77d0d267db31fe0345c0c8fb8b 10.49MB / 37.17MB 0.5s
16:02:02#5 extracting sha256:f56be85fc22e46face30e2c3de3f7fe7c15f8fd7c4e5add29d7f64b87abdaa09 0.1s done
16:02:02#5 sha256:561cb69653d56a9725be56e02128e4e96fb434a8b4b4decf2bdeb479a225feaf 0B / 448B 0.5s
16:02:02#5 sha256:8f665685b215c7daf9164545f1bbdd74d800af77d0d267db31fe0345c0c8fb8b 29.36MB / 37.17MB 0.6s
16:02:02#5 sha256:e5fca6c395a62ec277102af9e5283f6edb43b3e4f20f798e3ce7e425be226ba6 2.37MB / 2.37MB 0.7s
16:02:02#5 sha256:8f665685b215c7daf9164545f1bbdd74d800af77d0d267db31fe0345c0c8fb8b 37.17MB / 37.17MB 0.7s done
16:02:02#5 sha256:561cb69653d56a9725be56e02128e4e96fb434a8b4b4decf2bdeb479a225feaf 448B / 448B 0.7s
16:02:02#5 extracting sha256:8f665685b215c7daf9164545f1bbdd74d800af77d0d267db31fe0345c0c8fb8b
16:02:02#5 sha256:e5fca6c395a62ec277102af9e5283f6edb43b3e4f20f798e3ce7e425be226ba6 2.37MB / 2.37MB 0.7s done
16:02:02#5 sha256:561cb69653d56a9725be56e02128e4e96fb434a8b4b4decf2bdeb479a225feaf 448B / 448B 0.7s done
16:02:04#5 extracting sha256:8f665685b215c7daf9164545f1bbdd74d800af77d0d267db31fe0345c0c8fb8b 2.6s done
16:02:04#5 extracting sha256:e5fca6c395a62ec277102af9e5283f6edb43b3e4f20f798e3ce7e425be226ba6
16:02:04#5 extracting sha256:e5fca6c395a62ec277102af9e5283f6edb43b3e4f20f798e3ce7e425be226ba6 0.1s done
16:02:04#5 extracting sha256:561cb69653d56a9725be56e02128e4e96fb434a8b4b4decf2bdeb479a225feaf
16:02:04#5 extracting sha256:561cb69653d56a9725be56e02128e4e96fb434a8b4b4decf2bdeb479a225feaf done
16:02:04#5 DONE 3.7s
16:02:05
16:02:05#6 [builder 2/5] WORKDIR /app
16:02:05#6 DONE 0.1s
16:02:05
16:02:05#7 [deps 2/5] RUN apk add --no-cache libc6-compat
16:02:05#7 0.286 fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/main/x86_64/APKINDEX.tar.gz
16:02:05#7 0.573 fetch https://dl-cdn.alpinelinux.org/alpine/v3.17/community/x86_64/APKINDEX.tar.gz
16:02:05#7 0.990 (1/2) Upgrading musl (1.2.3-r4 -> 1.2.3-r5)
16:02:06#7 1.031 (2/2) Installing libc6-compat (1.2.3-r5)
16:02:06#7 1.050 OK: 10 MiB in 18 packages
16:02:06#7 DONE 1.1s
16:02:06
16:02:06#8 [deps 3/5] WORKDIR /app
16:02:06#8 DONE 0.0s
16:02:06
16:02:06#9 [deps 4/5] COPY package.json ./
16:02:06#9 DONE 0.0s
16:02:06
16:02:06#10 [deps 5/5] RUN yarn install --frozen-lockfile
16:02:06#10 0.400 yarn install v1.22.19
16:02:06#10 0.465 info No lockfile found.
16:02:06#10 0.479 [1/4] Resolving packages...
16:02:29#10 23.67 warning react-notion-x > react-use > nano-css > [email protected]: Please use @jridgewell/sourcemap-codec instead
16:02:36#10 30.74 [2/4] Fetching packages...
16:03:08#10 62.31 error @typescript-eslint/[email protected]: The engine "node" is incompatible with this module. Expected version "^16.0.0 || >=18.0.0". Got "14.21.3"
16:03:08#10 62.31 error Found incompatible module.
16:03:08#10 62.31 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
16:03:09#10 ERROR: process "/bin/sh -c yarn install --frozen-lockfile" did not complete successfully: exit code: 1
16:03:09------
16:03:09 > [deps 5/5] RUN yarn install --frozen-lockfile:
16:03:090.400 yarn install v1.22.19
16:03:090.465 info No lockfile found.
16:03:090.479 [1/4] Resolving packages...
16:03:0923.67 warning react-notion-x > react-use > nano-css > [email protected]: Please use @jridgewell/sourcemap-codec instead
16:03:0930.74 [2/4] Fetching packages...
16:03:0962.31 error @typescript-eslint/[email protected]: The engine "node" is incompatible with this module. Expected version "^16.0.0 || >=18.0.0". Got "14.21.3"
16:03:0962.31 error Found incompatible module.
16:03:0962.31 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
16:03:09------
16:03:09exit status 1
16:03:09exit status 1
环境
- 操作系统: windows11
- 浏览器 chrome
问题出在nodejs的版本不兼容,
@typescript-eslint/[email protected]: The engine "node" is incompatible with this module. Expected version "^16.0.0 || >=18.0.0". Got "14.21.3"
需要 16.0 或18.0 以上版本的nodejs,zeabur默认提供14.21.3的版本,所以无法编译。
最近没有使用Zeabur,可能需要咨询一下官方,是否有切换nodejs版本的功能或配置选项。
找到问题了,项目默认的Dockerfile是用的旧版Nodejs
ARG NOTION_PAGE_ID
# Install dependencies only when needed
FROM node:14-alpine AS deps
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine to understand why libc6-compat might be needed.
RUN apk add --no-cache libc6-compat
WORKDIR /app
COPY package.json ./
RUN yarn install --frozen-lockfile
# Rebuild the source code only when needed
FROM node:14-alpine AS builder
ARG NOTION_PAGE_ID
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
RUN yarn build
ENV NODE_ENV production
EXPOSE 3000
# Next.js collects completely anonymous telemetry data about general usage.
# Learn more here: https://nextjs.org/telemetry
# Uncomment the following line in case you want to disable telemetry.
# ENV NEXT_TELEMETRY_DISABLED 1
CMD ["yarn", "start"]