Flutter引擎开发环境搭建:gclient sync执行失败求助
解决Flutter引擎搭建时
gclient sync的Git克隆权限错误 我之前搭建Flutter引擎环境时也碰到过几乎一模一样的问题,这个报错核心是SSH权限验证失败,导致无法拉取指定的远程仓库,咱们一步步来排查解决:
1. 先确认仓库地址是否正确
从报错信息看,gclient正在尝试克隆git@github.com:tolotrasamuel/engine.git,但官方Flutter引擎的仓库是flutter/engine.git。你可以先检查:
- 是不是在配置gclient的时候填错了仓库地址?
- 这个
tolotrasamuel/engine.git仓库是否真的存在,且你拥有该仓库的访问权限?
如果是跟着官方文档走的,大概率是.gclient配置文件里的仓库源写错了,你可以打开C:\Flutter\engine下的.gclient文件,查看solutions里的url字段是否为官方仓库地址。
2. 修复SSH权限验证问题(如果仓库地址正确且你有权限)
如果仓库确实存在且你有权限访问,那问题出在本地SSH密钥没有和GitHub账号关联:
- 生成本地SSH密钥(如果还没生成):
执行时一路按回车使用默认配置即可。ssh-keygen -t ed25519 -C "你的GitHub绑定邮箱" - 将生成的公钥添加到GitHub账号:找到本地生成的
id_ed25519.pub文件(一般在C:\Users\你的用户名\.ssh目录下),复制里面的全部内容,然后添加到GitHub账号设置中的SSH密钥管理页面。 - 测试SSH连接:执行以下命令验证权限是否正常:
如果输出类似ssh -T git@github.comHi 你的GitHub用户名! You've successfully authenticated, but GitHub does not provide shell access.,说明SSH权限配置没问题了。
3. 临时改用HTTPS地址绕过SSH问题
如果SSH配置暂时搞不定,可以修改.gclient文件中的仓库地址为HTTPS格式,比如:
solutions = [ { "name": "src/flutter", "url": "https://github.com/flutter/engine.git", # 其他配置保持不变 }, ]
之后重新执行gclient sync,会提示你输入GitHub账号密码或者个人访问令牌(推荐用令牌,GitHub现在已经不再支持密码验证)。
完成以上步骤后,重新运行gclient sync应该就能顺利克隆仓库了。
内容的提问来源于stack exchange,提问作者TSR
相关产品推荐
相关产品推荐

