在我们的项目从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缓存,所有这些缓存都不一致。有时我们会有成功的管道,有时没有。
1条答案
按热度按时间tyg4sfes1#
经过几个月的斗争与这个幽灵,我们有另一个错误
5xx
时,试图下载电子。它突然停止下载各地的本地机器和CI。在与Electron团队取得联系后,我发现了这个问题。
我们有一个非常旧的
.npmrc
配置,它不再有效。信中写道:
当我把台词改成这样:
我们所有的痛苦都消失了-我们的构建再次变得稳定。
非常感谢电子社区!