Flutter项目VS Code PowerShell编译CMake版本异常原因排查
VS Code环境变量未更新:VS Code启动时会缓存系统环境变量,如果你是重装CMake之后才打开的VS Code,它的终端可能还在使用旧的PATH路径,导致调用到残留的旧版本CMake。解决方法:关闭所有VS Code窗口,重新打开后再检查终端里的
cmake --version。项目本地配置强制指定旧CMake路径:朋友的项目可能在
.vscode/settings.json里配置了cmake.cmakePath字段,硬编码了旧版本CMake的路径;或者项目根目录下有CMakeSettings.json、local.properties这类配置文件,指定了特定的CMake版本路径。可以打开这些文件检查是否有相关配置,把路径改成你当前的3.30.5版本路径。PowerShell配置文件修改了PATH:VS Code集成的PowerShell可能加载了你的PowerShell自定义配置文件(比如
$PROFILE对应的Microsoft.PowerShell_profile.ps1),里面可能添加了旧CMake的路径到PATH最前面,覆盖了系统环境变量。可以在VS Code的PowerShell终端里执行echo $env:PATH,查看输出里是否有旧版本CMake的路径,如果有,打开配置文件删除对应的行。Flutter插件的终端环境隔离:VS Code的Flutter插件可能在启动终端时,读取了项目特定的Flutter配置或者插件自身的环境变量,导致优先调用旧版本CMake。可以尝试禁用Flutter插件后重启VS Code,再测试终端的cmake版本;或者在终端里手动重新加载环境变量,执行命令:
$env:Path = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")。
内容的提问来源于Stack Exchange,提问作者匿名

