最近需要开发electron,遇到了一个生产问题,使用了很多办法都不生效。
现在记录下具体情况
一执行
yarn add electron
就开始报错
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 🔨 Building fresh packages...
error /Users/xxx/test/my-electron-app/node_modules/electron: Command failed.
Exit code: 1
Command: node install.js
Arguments:
Directory: /Users/xxx/test/my-electron-app/node_modules/electron
Output:
RequestError: certificate has expired
at ClientRequest.<anonymous> (/Users/xxx/test/my-electron-app/node_modules/got/dist/source/core/index.js:970:111)
at Object.onceWrapper (node:events:634:26)
at ClientRequest.emit (node:events:531:35)
at origin.emit (/Users/xxx/test/my-electron-app/node_modules/@szmarczak/http-timer/dist/source/index.js:43:20)
at TLSSocket.socketErrorListener (node:_http_client:500:9)
at TLSSocket.emit (node:events:519:28)
at emitErrorNT (node:internal/streams/destroy:169:8)
at emitErrorCloseNT (node:internal/streams/destroy:128:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
at TLSSocket.onConnectSecure (node:_tls_wrap:1674:34)
at TLSSocket.emit (node:events:519:28)
at TLSSocket._finishInit (node:_tls_wrap:1085:8)
at ssl.onhandshakedone (node:_tls_wrap:871:12)
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
自己也尝试安装证书,设置证书等等,都无效
最终解决方案如下
# 删除 Yarn 和 npm 全局缓存
rm -rf ~/Library/Caches/Yarn
rm -rf ~/.npm
# 删除 Electron 的缓存目录(重要!)
rm -rf ~/.cache/electron
这时候执行
yarn add electron
依然还是会报错
执行这个之后就正常了
# 仅当前命令生效
NODE_TLS_REJECT_UNAUTHORIZED=0 yarn add electron