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

如何修复NextJS的ERR_OSSL_EVP_UNSUPPORTED及NodeJS项目构建报错

问题1:PostCSS 导出路径错误(ERR_PACKAGE_PATH_NOT_EXPORTED)

这个错误是因为项目里的某个依赖调用了PostCSS未公开导出的./lib/parser路径,高版本PostCSS(8.x+)严格限制了导出的子路径,导致无法访问。解决方法如下:

  • 降级PostCSS到兼容版本:执行命令npm install postcss@7.x --save-dev(yarn用户用yarn add postcss@7.x --dev),7.x版本没有严格的导出路径限制。
  • 排查并更新依赖:用npm ls postcss查看依赖树,找到哪个包在调用这个未导出的路径,将该包升级到适配PostCSS 8+的版本,或者联系包作者修复。
  • 临时修改PostCSS配置(不推荐长期使用):找到node_modules/postcss/package.json中的exports字段,手动添加"./lib/parser": "./lib/parser.js",但重新安装依赖后这个修改会失效,仅作临时测试使用。
问题2:Next.js 中的 ERR_OSSL_EVP_UNSUPPORTED 错误

这个错误多发生在Node.js 17+版本,因为默认启用了新的OpenSSL提供器,和部分旧依赖不兼容。解决方法:

  • 临时添加环境变量启动:Windows终端执行set NODE_OPTIONS=--openssl-legacy-provider && npm run dev(构建时把dev换成build);Mac/Linux终端执行NODE_OPTIONS=--openssl-legacy-provider npm run dev。
  • 配置package.json脚本:直接修改项目的package.json,把scripts里的dev和build命令改成带环境变量的版本。比如:
    "scripts": {
      "dev": "NODE_OPTIONS=--openssl-legacy-provider next dev",
      "build": "NODE_OPTIONS=--openssl-legacy-provider next build",
      "start": "next start"
    }
    
    Windows用户需要调整为:
    "scripts": {
      "dev": "set NODE_OPTIONS=--openssl-legacy-provider && next dev",
      "build": "set NODE_OPTIONS=--openssl-legacy-provider && next build",
      "start": "next start"
    }
    
  • 升级Node.js版本:升级到最新的稳定版Node.js(比如18.x或更高),新版本已经修复了部分OpenSSL兼容性问题,可能直接解决该错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:45:49