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

在Fleek部署Next.js应用时指定Node.js 18版本遇到镜像缺失及版本不兼容问题

在Fleek部署Next.js应用时指定Node.js 18版本遇到镜像缺失及版本不兼容问题

我来帮你搞定这个在Fleek上部署Next.js时的Node版本适配问题~先理清楚你遇到的核心困境:原本用Node.js 16部署正常,升级依赖后需要Node.js 18,手动指定版本却提示找不到镜像,用官方默认镜像又回到版本不兼容的错误,对吧?

先拆解问题根源

  1. 直接填node:18失败:Fleek的构建环境不是直接调用Docker Hub的官方Node镜像,而是基于他们自己封装的定制镜像体系,所以直接输入node:18会触发镜像找不到的报错。
  2. 默认fleek/next-js回到Node16:这个镜像的默认标签对应的是Node16版本,自然满足不了你升级后的依赖要求。

给你几个可行的解决方案,按推荐顺序尝试:

方案1:通过package.json声明Node版本(最简洁)

在项目根目录的package.json里添加engines字段,明确要求Node.js 18及以上版本:

{
  "name": "your-nextjs-app",
  "version": "1.0.0",
  "engines": {
    "node": ">=18.0.0"
  },
  // 其他项目配置...
}

把这个修改提交到Git仓库后,重新触发Fleek部署。Fleek会自动读取这个配置,匹配符合要求的Node版本环境。

方案2:使用Fleek官方带Node18标签的镜像

在Fleek的部署设置页面,把Docker镜像输入框的内容改成:

fleek/next-js:node18

这是Fleek官方专门封装的、适配Next.js且基于Node18的镜像,完全能被识别,不会出现镜像缺失的问题。

方案3:用fleek.json配置文件强制指定构建环境

如果上面两个方案都没生效,可以在项目根目录创建fleek.json文件,手动锁定构建镜像:

{
  "build": {
    "image": "fleek/next-js:node18",
    "command": "npm run build" // 如果你用yarn/pnpm,替换成对应的构建命令即可
  }
}

提交这个文件后重新部署,Fleek会优先读取这个配置文件的设置,确保使用Node18环境构建。

小提示

部署前可以先在本地用Node18环境测试下npm run build是否能正常完成,排除项目本身的构建问题哦。

备注:内容来源于stack exchange,提问作者jan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:14:37