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

使用npx create-next-app创建Next.js项目启动时报ERR_OSSL_EVP_UNSUPPORTED错误

问题根因

该错误由Node.js版本与Next.js版本的OpenSSL依赖不兼容导致:你使用的Node.js v17+默认采用OpenSSL 3.0,而当前安装的Next.js 11.1.2内置的webpack版本依赖旧版OpenSSL的哈希算法,两者不匹配触发报错。

解决方案

按生效速度和长期适用性排序如下:

方案1:修改项目启动命令(最快生效,无需调整环境/依赖版本)

只需在dev、build命令前添加OpenSSL旧版兼容的环境变量即可,不同系统写法有差异:

  • Windows系统(cmd/powershell环境)修改package.json的scripts字段:
{
  "scripts": {
    "dev": "set NODE_OPTIONS=--openssl-legacy-provider && next dev",
    "build": "set NODE_OPTIONS=--openssl-legacy-provider && next build",
    "start": "next start",
    "lint": "next lint"
  }
}
  • Mac/Linux系统修改package.json的scripts字段:
{
  "scripts": {
    "dev": "NODE_OPTIONS=--openssl-legacy-provider next dev",
    "build": "NODE_OPTIONS=--openssl-legacy-provider next build",
    "start": "next start",
    "lint": "next lint"
  }
}
  • 如需跨系统通用,先执行npm i cross-env -D安装跨平台环境变量工具,再修改scripts字段:
{
  "scripts": {
    "dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider next dev",
    "build": "cross-env NODE_OPTIONS=--openssl-legacy-provider next build",
    "start": "next start",
    "lint": "next lint"
  }
}

方案2:升级Next.js版本(长期推荐)

Next.js 12及以上版本已经完成了Node.js 17+的兼容适配,直接执行以下命令升级依赖即可解决问题:
npm install next@latest react@latest react-dom@latest

方案3:降级Node.js版本

将本地Node.js版本降级到16.x LTS版本,该版本默认使用旧版OpenSSL,不会触发该兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 17:15:00