我在 linux 下的 vue-electron 项目(用的@vue/cli
构建,和vue-cli-plugin-electron-builder
)运行 npm run electron:serve
报错
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:69:19)
at Object.createHash (node:crypto:138:10)
at module.exports (/home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/util/createHash.js:135:53)
at NormalModule._initBuildHash (/home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:417:16)
at handleParseError (/home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:471:10)
at /home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:503:5
at /home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:358:12
at /home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/loader-runner/lib/LoaderRunner.js:373:3
at iterateNormalLoaders (/home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/node_modules/loader-runner/lib/LoaderRunner.js:214:10)
at Array.<anonymous> (/home/yan2u/Desktop/electron/electron-explorer/node_modules/vue-cli-plugin-electron-builder/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'
}
按照网上的方法,设置了 export NODE_OPTIONS=--openssl-legacy-provider
之后,electron 不能启动了,提示
--openssl-legacy-provider is not allowed in NODE_OPTIONS
两边好像是互相冲突的😭
这是我的版本信息:
有人知道这是什么问题嘛😭
node版本太高,尝试降低版本,再试一下
既然是ico图标错误,下意识认为图标文件路径配置错误,查找相关资料肯定配置没错,可是为什么还是报错。配置如下
linux: {
icon: path.resolve(__dirname, "bb.ico"),
target: [
"AppImage"
]
}
思考许久,突然想起来,在win下打包时,在制作ico时有系统平台格式,也就是ico是给win下使用的,linux就不行或者在mac下不行。我用的时icofx 3
工具制作的。
到此问题更清晰了,原来是ico格式错误才打印⨯ unknown output format set
,程序真不会骗人,这错误提示真的简单明了。