Windows平台编译Flutter Engine遇环境变量错误求助
解决Windows下VS2017编译Flutter Engine的GN命令异常问题
我之前踩过类似的编译坑,结合你的情况一步步来排查解决:
1. 修复KeyError: 'GYP_MSVS_OVERRIDE_PATH'错误
当你设置DEPOT_TOOLS_WIN_TOOLCHAIN=0时,depot_tools会强制使用本地安装的VS工具链而非自带版本,这时候必须明确指定VS2017的安装根目录:
- 先找到你的VS2017安装路径,默认路径参考:
- 社区版:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community - 专业版/企业版:把路径里的
Community替换为Professional或Enterprise
- 社区版:
- 临时在命令行设置环境变量(重启终端后失效):
或者在系统环境变量中永久添加,完成后务必重启终端再执行GN命令。set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community
2. 解决SYSTEMROOT相关异常
尽管你说SYSTEMROOT已正确设置,但可能存在以下隐藏问题:
- 终端未加载系统变量:尝试切换到管理员权限的终端重新操作,或者重启终端让系统环境变量完全生效。
- 环境变量格式错误:检查
SYSTEMROOT的值是否带有多余空格或引号,确保就是纯C:\WINDOWS。 - VS环境未初始化:优先使用VS2017自带的
Developer Command Prompt for VS 2017执行命令,这个工具会自动配置所有VS相关的环境变量,避免手动设置遗漏。
3. 关于跳过chrome-internal.googlesource.com的用户名输入
这个完全不用在意,chrome-internal.googlesource.com是Google内部代码仓库,Flutter Engine的公开编译流程不需要拉取它的内容,直接回车跳过是正确操作,和你当前遇到的错误没有关联。
建议的完整预编译流程
- 打开管理员权限的
Developer Command Prompt for VS 2017 - 依次设置环境变量:
set GYP_MSVS_VERSION=2017 set DEPOT_TOOLS_WIN_TOOLCHAIN=0 set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community - 进入Flutter Engine根目录
- 执行GN命令:
python .\flutter\tools\gn --unoptimized
如果还是有问题,可以检查VS2017是否安装了C++开发工具包(Flutter Engine编译必须依赖这个组件,默认可能未勾选),确保安装时选中了"Desktop development with C++"模块。
内容的提问来源于stack exchange,提问作者Gazihan Alankus
相关产品推荐
相关产品推荐

