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

如何修复npm run build未知错误及npm start的ERR_OSSL_EVP_UNSUPPORTED错误

React项目构建与启动错误解决方案

问题描述

4个月前创建的React项目honest-trading,现在执行npm run build时出现UNKNOWN读错误,执行npm start时出现ERR_OSSL_EVP_UNSUPPORTED错误,具体报错信息如下:

1. npm run build报错

$ npm run build
> honest-trading@0.1.0 build
> react-scripts build
node:internal/fs/utils:347
    throw err;
    ^

Error: UNKNOWN: unknown error, read
    at Object.readSync (node:fs:748:3)
    at tryReadSync (node:fs:448:20)
    at Object.readFileSync (node:fs:486:19)
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\react-dev-utils\FileSizeReporter.js:139:29
    at Array.reduce (<anonymous>)
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\react-dev-utils\FileSizeReporter.js:138:48
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\recursive-readdir\index.js:81:22
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\recursive-readdir\index.js:81:22
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\recursive-readdir\index.js:88:20
    at FSReqCallback.oncomplete (node:fs:208:5) {
  errno: -4094,
  syscall: 'read',
  code: 'UNKNOWN'
}

Node.js v18.14.2

2. npm start报错

Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:71:19)
    at Object.createHash (node:crypto:133:10)
    at module.exports (C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\webpack\lib\util\createHash.js:90:53)
    at NormalModule._initBuildHash (C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\webpack\lib\NormalModule.js:386:16)
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\webpack\lib\NormalModule.js:418:10
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\webpack\lib\NormalModule.js:293:13
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\loader-runner\lib\LoaderRunner.js:367:11
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\loader-runner\lib\LoaderRunner.js:233:18
    at context.callback (C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\loader-runner\lib\LoaderRunner.js:111:13)
    at C:\Users\rusla\OneDrive\Рабочий стол\Sites\honesttrading\honest-trading\node_modules\babel-loader\lib\index.js:51:103 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],      
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.14.2

解决方案

针对UNKNOWN读错误

  1. 移出OneDrive同步目录:项目存储在OneDrive下时,同步锁可能导致文件无法被读取。将整个项目文件夹移动到本地非同步路径(比如C:\Users\rusla\Documents),再重新执行构建命令。
  2. 清理依赖并重新安装:
    # Windows命令行
    rmdir /s/q node_modules && del package-lock.json
    npm install
    
    # Linux/macOS
    rm -rf node_modules package-lock.json
    npm install
    
  3. 删除build目录后重试:
    # Windows命令行
    rmdir /s/q build
    npm run build
    
    # Linux/macOS
    rm -rf build
    npm run build
    
  4. 检查文件完整性:排查项目中是否存在损坏、0字节或权限受限的文件,删除或修复这类文件后再构建。

针对ERR_OSSL_EVP_UNSUPPORTED错误

这个错误是Node.js 17+版本(含v18)使用OpenSSL 3.0,与旧版webpack/react-scripts的哈希算法不兼容导致的,可通过以下方式解决:

  1. 临时设置环境变量:
    • Windows命令行:
      set NODE_OPTIONS=--openssl-legacy-provider
      npm start
      # 构建时
      set NODE_OPTIONS=--openssl-legacy-provider
      npm run build
      
    • Windows PowerShell:
      $env:NODE_OPTIONS="--openssl-legacy-provider"
      npm start
      
  2. 升级react-scripts到最新版本:
    npm install react-scripts@latest
    
  3. 修改package.json脚本:将环境变量整合到启动/构建命令中,避免每次手动设置:
    "scripts": {
      "start": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts start",
      "build": "set NODE_OPTIONS=--openssl-legacy-provider && react-scripts build"
    }
    
    (Linux/macOS用户将set替换为export即可)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 04:45:00