ChatALL icon indicating copy to clipboard operation
ChatALL copied to clipboard

编译全平台的时候报错

Open 0smboy opened this issue 2 years ago • 7 comments

npm run electron:build -- -wml --x64 --arm64

image

0smboy avatar May 10 '23 07:05 0smboy

没遇到过这个错误。你是在什么操作系统上跑的?

sunner avatar May 10 '23 07:05 sunner

在codespaces上编译的

0smboy avatar May 10 '23 08:05 0smboy

codespaces 选的什么系统啊?

sunner avatar May 10 '23 08:05 sunner

ubuntu 18.04

0smboy avatar May 10 '23 08:05 0smboy

没在上面测过。看截图的信息,貌似是环境配置的问题

sunner avatar May 10 '23 10:05 sunner

/ChatALL# npm run electron:serve

[email protected] electron:serve vue-cli-service electron:serve

INFO Starting development server...

DONE Compiled successfully in 11109ms 11:58:51 AM

App running at:

  • Local: http://localhost:8080/
  • Network: unavailable

Note that the development build is not optimized. To create a production build, run npm run 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 (/ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/util/createHash.js:135:53) at NormalModule._initBuildHash (/ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:417:16) at handleParseError (/ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:471:10) at /ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:503:5 at /ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/webpack/lib/NormalModule.js:358:12 at /ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/loader-runner/lib/LoaderRunner.js:373:3 at iterateNormalLoaders (/ChatALL/node_modules/vue-cli-plugin-electron-builder/node_modules/loader-runner/lib/LoaderRunner.js:214:10) at Array. (/ChatALL/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' }

Node.js v17.9.1 我的也是出问题,在debian11上运行的,环境配置有什么要求?

tiger94me avatar May 16 '23 12:05 tiger94me

Update: it works by using Node v16.x (report by @tiger94me )

The post maybe works: https://stackoverflow.com/questions/69692842/error-message-error0308010cdigital-envelope-routinesunsupported

Could you give it a try? @tiger94me @0smboy

sunner avatar May 16 '23 14:05 sunner

Having the same problem on NixOS 23.05 with Node v18.14.2, but I didn't have any problems after run the commands below:

$ npm audit fix --force
# and
$ NODE_OPTIONS=--openssl-legacy-provider sudo -E pnpm run electron:serve

As you can see, I'm having permissions issues but I don't care about it for my use. Anyway, here are the logs:

$ NODE_OPTIONS=--openssl-legacy-provider pnpm run electron:serve

> [email protected] electron:serve /tmp/ChatALL
> vue-cli-service electron:serve

 INFO  Starting development server...


 ERROR  Failed to compile with 1 error                                                                                      12:37:31

 error  in ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css

Syntax Error: Error: EACCES: permission denied, open '/.config/postcssrc'


ERROR in ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css (./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRule
Set-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css)
Module build failed (from ./node_modules/postcss-loader/dist/cjs.js):
Error: EACCES: permission denied, open '/.config/postcssrc'
 @ ./node_modules/vue-style-loader/index.js??clonedRuleSet-12.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-12.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRul
eSet-12.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css 4:14-323 15:3-20:5 16:22-331
 @ ./src/App.vue?vue&type=style&index=0&id=7ba5bd90&lang=css 1:0-381 1:0-381
 @ ./src/App.vue 5:0-62
 @ ./src/main.js 2:0-28 48:10-13

luisnquin avatar May 16 '23 18:05 luisnquin

可以了,按你说的办法解决了。 我重做了一遍,发现用nvm install 16的版本,就不会出现错误提示了。

tiger94me avatar May 16 '23 23:05 tiger94me

我在运行npm run electron:serve时也报了digital envelope routines::unsupported的错(Apple M2, node 18 version),修改了vue-cli-plugin-electron-builder/node_modules/里面的一个文件,设置了其他算法: ··· algorithm='sha256' return new BulkUpdateDecorator(require("crypto").createHash(algorithm)); ··· 还需要赋予权限: ··· sudo chmod -R 777 ./ ···

qcgm1978 avatar May 22 '23 04:05 qcgm1978

我在运行npm run electron:serve时也报了digital envelope routines::unsupported的错(Apple M2, node 18 version),修改了vue-cli-plugin-electron-builder/node_modules/里面的一个文件,设置了其他算法: ··· algorithm='sha256' return new BulkUpdateDecorator(require("crypto").createHash(algorithm)); ··· 还需要赋予权限: ··· sudo chmod -R 777 ./ ···

这样就支持 node 18 了?

sunner avatar May 22 '23 11:05 sunner

我在运行npm run electron:serve时也报了digital envelope routines::unsupported的错(Apple M2, node 18 version),修改了vue-cli-plugin-electron-builder/node_modules/里面的一个文件,设置了其他算法: ··· algorithm='sha256' return new BulkUpdateDecorator(require("crypto").createHash(algorithm)); ··· 还需要赋予权限: ··· sudo chmod -R 777 ./ ···

这样就支持 node 18 了?

我这么修改之后能运行了,但是不记得运行npm install的时候是用的什么版本的node了

qcgm1978 avatar May 22 '23 16:05 qcgm1978

又试了一下,应该是node18的情况下无法安装vue-cli-plugin-electron-builder,用16版本安装后进行上面的配置后使用的

qcgm1978 avatar May 22 '23 22:05 qcgm1978

看来这是一个需要等 Electron 升级才能解决的问题

sunner avatar May 22 '23 23:05 sunner

看来这是一个需要等 Electron 升级才能解决的问题

似乎是vue-cli failed to install plugin electron-builder with node 18

qcgm1978 avatar May 23 '23 18:05 qcgm1978

看来这是一个需要等 Electron 升级才能解决的问题

似乎是vue-cli failed to install plugin electron-builder with node 18

嗯,没错,找到元凶了。多谢,我会跟进的

sunner avatar May 23 '23 21:05 sunner