使用Yarn构建Theia项目遇双问题:Electron安装失败及模块找不到
Theia项目Yarn构建问题解决方法
问题1:Electron模块安装失败(getaddrinfo ENOTFOUND github.com)
错误场景
克隆Theia仓库后执行yarn,出现如下错误:
kriouana@TUN MINGW64 ~/Desktop/theia (master) $ yarn
错误输出:
error C:\Users\kriouana\Desktop\theia\node_modules\electron: Command failed. Exit code: 1 Command: node install.js Arguments: Directory: C:\Users\kriouana\Desktop\theia\node_modules\electron Output: RequestError: getaddrinfo ENOTFOUND github.com
解决方法
- 先确认网络能正常访问github.com,可通过
ping github.com测试连通性。 - 若网络访问GitHub受限,配置Electron国内镜像源:
- Windows CMD执行:
set ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ - Windows PowerShell执行:
$env:ELECTRON_MIRROR="https://npmmirror.com/mirrors/electron/" - 或在项目根目录创建
.npmrc文件,添加内容:electron_mirror=https://npmmirror.com/mirrors/electron/
- Windows CMD执行:
- 删除项目下的
node_modules文件夹和yarn.lock文件,重新执行yarn安装依赖。
问题2:global-agent模块找不到(Error: Cannot find module '‘global-agent/bootstrap’')
错误场景
尝试用global-agent解决网络问题时,执行命令出现模块找不到错误:
yarn global add global-agent cd <clone_dir>/theia/node_modules/electron node -r ‘global-agent/bootstrap’ install.js
错误输出:
$ node -r ‘global-agent/bootstrap’ install.js node:internal/modules/cjs/loader:988 throw err; ^ Error: Cannot find module '‘global-agent/bootstrap’' Require stack: - internal/preload
解决方法
- 替换中文引号为英文引号:Node会将中文单引号
‘’识别为模块名的一部分,导致找不到模块,改为英文单引号重新执行:node -r 'global-agent/bootstrap' install.js - 若全局安装的模块仍无法被识别,可改为局部安装global-agent到项目:
# 回到项目根目录 cd <clone_dir>/theia yarn add global-agent --dev # 再进入electron目录执行安装脚本 cd node_modules/electron node -r 'global-agent/bootstrap' install.js - 检查global-agent是否安装成功:执行
yarn global list查看全局已安装模块,若未找到则重新执行yarn global add global-agent。
内容的提问来源于stack exchange,提问作者Adem kriouane
相关产品推荐
相关产品推荐

