【问题标题】:Error: error:0308010C:digital envelope routines::unsupported while trying to build a vue-electron project错误:error:0308010C:digital envelope routines::unsupported while trying to build a vue-electron project
【发布时间】:2023-02-13 18:11:11
【问题描述】:

我试图通过 electron-builder 创建一个 vue-electron 项目,但出现此错误:

yarn run v1.22.19
$ vue-cli-service electron:serve
 INFO  Starting development server...


 DONE  Compiled successfully in 3437ms                                                                                                        00:29:29


  App running at:

  Note that the development build is not optimized.
  To create a production build, run yarn build.

-  Bundling main process...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:135:10)
    at module.exports (D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\webpack\lib\util\createHash.js:135:53)
    at NormalModule._initBuildHash (D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\webpack\lib\NormalModule.js:417:16)
    at handleParseError (D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\webpack\lib\NormalModule.js:471:10)
    at D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\webpack\lib\NormalModule.js:503:5
    at D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\webpack\lib\NormalModule.js:358:12
    at D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\loader-runner\lib\LoaderRunner.js:373:3
    at iterateNormalLoaders (D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\loader-runner\lib\LoaderRunner.js:214:10)
    at Array.<anonymous> (D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\loader-runner\lib\LoaderRunner.js:205:4)
    at Storage.finished (D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16)
    at D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\vue-cli-plugin-electron-builder\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9
    at D:\coding\JavaScript\Vue\electro\vue3-electron\node_modules\graceful-fs\graceful-fs.js:123:16
    at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) {
  opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ],
  library: 'digital envelope routines',
  reason: 'unsupported',
  code: 'ERR_OSSL_EVP_UNSUPPORTED'

如果有人可以帮助我,我将不胜感激。

我试图添加

--openssl-legacy-provider 

到 serve 命令,但它对我没有帮助,我还尝试了不同的 Node.js 版本 (17,18,19)

【问题讨论】:

标签: vue.js electron electron-builder


【解决方案1】:

我在这里回答了一个非常相似的问题:https://stackoverflow.com/a/75434013/20130767

总结起来有两种解决方案:

  • 快速而肮脏(不推荐),安装 Node.js v16。但是,这会使您的构建暴露于在 Node.js v18 中修补的安全威胁
  • 合适的方式, 将你的 webpack 包从版本 4.x.x 升级到 5.0.0

【讨论】:

    猜你喜欢
    • 2022-11-13
    • 2023-01-25
    • 2023-01-26
    • 2022-12-28
    • 2022-11-08
    • 2022-12-15
    • 2023-01-24
    • 2022-12-01
    • 2021-10-26
    相关资源
    最近更新 更多