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

Vercel部署报错:已安装Next.js依赖却提示版本未检测到?

解决Vercel构建Next.js项目时的版本检测错误

问题描述

构建时触发以下错误:

Error: No Next.js version could be detected in your project. Make sure "next" is installed in "dependencies" or "devDependencies"

项目通过create-next-app创建,package.json中已声明Next.js依赖,但报错依然存在,原package.json内容如下:

{
  "name": "project1",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "node server.mjs",
    "lint": "next lint"
  },
  "dependencies": {
    "@reduxjs/toolkit": "^1.8.5",
    "next": "^12.2.3",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-redux": "^7.2.8",
  },
  "devDependencies": {
    "eslint": "8.20.0",
    "eslint-config-next": "12.2.3"
  }
}

解决方案

1. 修复package.json语法错误

原package.json的dependencies中最后一项"react-redux": "^7.2.8",多了一个尾逗号,JSON语法不允许存在尾逗号,这会导致Vercel无法正确解析package.json,进而无法识别Next.js依赖。

修正后的package.json:

{
  "name": "project1",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "node server.mjs",
    "lint": "next lint"
  },
  "dependencies": {
    "@reduxjs/toolkit": "^1.8.5",
    "next": "^12.2.3",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-redux": "^7.2.8"
  },
  "devDependencies": {
    "eslint": "8.20.0",
    "eslint-config-next": "12.2.3"
  }
}

2. 本地验证构建

删除本地的node_modules和package-lock.json(或yarn.lock),重新安装依赖并构建:

rm -rf node_modules package-lock.json
npm install
npm run build

确认本地能正常构建后,再推送代码到Vercel。

3. 清除Vercel构建缓存

在Vercel项目的部署页面,点击「Redeploy」并勾选「Clear build cache」,强制重新拉取依赖并执行构建,避免缓存导致的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 02:50:40