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

Nuxt.js localhost:3000无法启动,请求问题排查建议

问题:Nuxt.js项目启动失败,报错ERR_OSSL_EVP_UNSUPPORTED

我正从React转向Vue.js,运行Nuxt.js项目时localhost:3000无法启动,收到如下错误信息,服务器存在问题。以下是项目的安装流程和执行npm run dev时的报错信息,求分析问题原因?

安装流程

create-nuxt-app v5.0.0
✨  Generating Nuxt.js project in cryptocheck24.org
? Project name: cryptocheck24.org
? Programming language: JavaScript
? Package manager: Npm
? UI framework: None
? Template engine: HTML
? Nuxt.js modules: (Press <space> to select, <a> to toggle all, <i> to invert selection)
? Linting tools: (Press <space> to select, <a> to toggle all, <i> to invert selection)
? Testing framework: Jest
? Rendering mode: Universal (SSR / SSG)
? Deployment target: Server (Node.js hosting)
? Development tools: (Press <space> to select, <a> to toggle all, <i> to invert selection)
? Continuous integration: None
? Version control system: Git

错误信息

> cryptocheck24.org@1.0.0 dev
> nuxt


   ╭───────────────────────────────────────╮
   │                                       │
   │   Nuxt @ v2.15.8                      │
   │                                       │
   │   ▸ Environment: development          │
   │   ▸ Rendering:   server-side          │
   │   ▸ Target:      server               │
   │                                       │
   │   Listening: http://localhost:3000/   │
   │                                       │
   ╰───────────────────────────────────────╯

ℹ Preparing project for development                                   16:25:39
ℹ Initial build may take a while                                      16:25:39
ℹ Discovered Components: .nuxt/components/readme.md                   16:25:39
✔ Builder initialized                                                 16:25:39
✔ Nuxt files generated                                                16:25:39

● Client █████████████████████████ compiling (0%)  
 

◯ Server
  

node:internal/crypto/hash:67
  this[kHandle] = new _Hash(algorithm, xofLen);
                  ^

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:67:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (/Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/lib/util/createHash.js:135:53)
    at NormalModule._initBuildHash (/Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/lib/NormalModule.js:417:16)
    at handleParseError (/Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/lib/NormalModule.js:471:10)
    at /Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/lib/NormalModule.js:503:5
    at /Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/lib/NormalModule.js:358:12
    at /Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/node_modules/loader-runner/lib/LoaderRunner.js:373:3
    at iterateNormalLoaders (/Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
    at Array.<anonymous> (/Users/remo/Desktop/cryptocheck24.org/node_modules/webpack/node_modules/loader-runner/lib/LoaderRunner.js:205:4) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

问题原因与解决方案

这个错误是因为你使用的Node.js版本(v17及以上)默认启用了OpenSSL 3.0,而Nuxt 2.x依赖的Webpack版本不支持新的哈希算法,导致兼容性冲突。

解决办法:

  • 临时启动方案:在启动命令前添加环境变量,指定旧的哈希算法
    • Windows(命令提示符):set NODE_OPTIONS=--openssl-legacy-provider && npm run dev
    • macOS/Linux(终端):NODE_OPTIONS=--openssl-legacy-provider npm run dev
  • 永久修改启动脚本:打开项目根目录的package.json,修改scripts里的命令:
    "scripts": {
      "dev": "NODE_OPTIONS=--openssl-legacy-provider nuxt",
      "build": "NODE_OPTIONS=--openssl-legacy-provider nuxt build",
      "start": "NODE_OPTIONS=--openssl-legacy-provider nuxt start"
    }
    
  • 降级Node.js版本:如果不想修改脚本,可以把Node.js降级到v16.x及以下版本,该版本使用OpenSSL 1.1.1,不会出现此兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 06:05:28