electron 电子无法安装在CI上

aor9mmx1  于 2022-12-16  发布在  Electron
关注(0)|答案(1)|浏览(181)

在我们的项目从v6迁移到Electron v11之后,我们开始遇到奇怪的CI问题,电子没有正确安装,管道失败。
我们的设置:

  • 莱尔纳
  • 莫诺雷波
  • Yarnv1.22
  • 私有npm注册表

此类问题的示例:

[4/4] Building fresh packages...
error /builds/xxxx/..../node_modules/electron, /builds/.../node_modules/electron, /builds/xxxx/app/node_modules/electron: Command failed.
Exit code: 1
Command: node install.js
Arguments: 
Directory: /builds/xxxx/features/yyyy/node_modules/electron
Output:
Error: dest already exists.
    at /builds/xxxx/node_modules/fs-extra/lib/move/move.js:41:31
Exit code: 1
Command: node install.js
Arguments: 
Directory: C:\gitlab\builds\pFMTxHs3\0\xxxxxx\features\yyyyy\node_modules\electron
Output:
C:\gitlab\builds\pFMTxHs3\0\xxxx\features\yyyyy\node_modules\electron\install.js:51
  throw err
  ^
[Error: ENOENT: no such file or directory, open 'C:\Users\xxxx\AppData\Local\electron\Cache\httpsgithub.comelectronelectronreleasesdownloadv7.1.4electron-v7.1.4-win32-x64.zip\electron-v7.1.4-win32-x64.zip'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\Users\\xxxx\\AppData\\Local\\electron\\Cache\\httpsgithub.comelectronelectronreleasesdownloadv7.1.4electron-v7.1.4-win32-x64.zip\\electron-v7.1.4-win32-x64.zip'

我们试着删除CI缓存、Yarn缓存、NPM缓存,所有这些缓存都不一致。有时我们会有成功的管道,有时没有。

tyg4sfes

tyg4sfes1#

经过几个月的斗争与这个幽灵,我们有另一个错误5xx时,试图下载电子。它突然停止下载各地的本地机器和CI。
在与Electron团队取得联系后,我发现了这个问题。
我们有一个非常旧的.npmrc配置,它不再有效。
信中写道:

disturl=https://atom.io/download/electron

当我把台词改成这样:

disturl=https://electronjs.org/headers

我们所有的痛苦都消失了-我们的构建再次变得稳定。
非常感谢电子社区!

相关问题