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

运行npm run watch时出现ERR_OSSL_EVP_UNSUPPORTED错误求助

Electron-React模板运行npm run watch时出现ERR_OSSL_EVP_UNSUPPORTED错误

我正在进行基于Electron的软件后端开发,为便捷处理Python程序的数据插入及窗口刷新,计划集成React JS库。使用electron-react-boilerplate代码模板测试时,运行npm run watch命令出现错误,错误日志如下:

> electron-react-app@1.0.0 watch
> webpack --config webpack.common.js --watch


webpack is watching the files…

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

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\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\webpack\lib\util\createHash.js:135:53)    
    at NormalModule._initBuildHash (C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\webpack\lib\NormalModule.js:471:10)     
    at C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\webpack\lib\NormalModule.js:503:5
    at C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\webpack\lib\NormalModule.js:358:12
    at C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at iterateNormalLoaders (C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\loader-runner\lib\LoaderRunner.js:221:10)
    at C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\loader-runner\lib\LoaderRunner.js:236:3
    at context.callback (C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\loader-runner\lib\LoaderRunner.js:111:13)    at C:\Users\cantr\Desktop\Stage ingénieur KOMILFO SPORT\Sail Vision\electron-react-boilerplate-master\node_modules\babel-loader\lib\index.js:44:71 {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'
}

Node.js v18.12.0

解决方案

这个错误是Node.js 17及以上版本默认使用的OpenSSL 3.0不兼容旧版Webpack依赖的哈希算法导致的,可通过以下几种方式解决:

  • 临时运行指定环境变量
    根据你的终端类型执行对应命令:

    • Windows CMD:set NODE_OPTIONS=--openssl-legacy-provider && npm run watch
    • Windows PowerShell:$env:NODE_OPTIONS="--openssl-legacy-provider"; npm run watch
    • Linux/macOS:NODE_OPTIONS=--openssl-legacy-provider npm run watch
  • 修改package.json的脚本配置
    直接在package.json里的watch命令前添加环境变量,避免每次手动输入:

    1. 若仅在Windows环境使用,修改scripts字段:
      "scripts": {
        "watch": "set NODE_OPTIONS=--openssl-legacy-provider && webpack --config webpack.common.js --watch"
      }
      
    2. 如需跨平台兼容,先安装cross-env依赖:
      npm install cross-env --save-dev
      
      再修改scripts:
      "scripts": {
        "watch": "cross-env NODE_OPTIONS=--openssl-legacy-provider webpack --config webpack.common.js --watch"
      }
      
  • 降级Node.js版本
    若不想修改配置,可将Node.js降级到16.x LTS版本,该版本使用的OpenSSL 1.1.1不会出现此兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 18:56:01