You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows CLI中临时移除PATH内Git路径以解决CMake报错

解决CMake生成MinGW Makefiles时的sh.exe路径冲突问题

临时修改PATH(仅当前命令行会话有效,不影响全局)

这是最推荐的方式——不需要改动全局环境变量,只在当前编译用的cmd窗口生效,重启后PATH会自动恢复,完全不影响Git的正常使用。

  1. 确认当前PATH中的Git路径
    先运行命令查看当前PATH内容,确认Git相关路径存在:

    echo %PATH%
    

    你会看到类似C:\Program Files\Git\cmd和C:\Program Files\Git\usr\bin的条目。

  2. 移除Git相关路径
    使用set命令的字符串替换功能,精准剔除Git的路径:

    set PATH=%PATH:C:\Program Files\Git\cmd;=%
    set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
    

    注意末尾的分号;是必须的,这能避免误删其他包含相似字符串的路径。

  3. 验证修改效果
    运行以下命令确认sh.exe已不在PATH中,且MinGW的make工具能被正确找到:

    where sh.exe  # 正常应返回"INFO: Could not find files for the given pattern(s)."
    where make.exe  # 应指向你的MinGW安装路径,比如C:\MinGW\bin\make.exe
    
  4. 执行CMake构建
    现在可以正常运行CMake生成MinGW Makefiles并编译了:

    cmake -G "MinGW Makefiles" ..
    make
    

替代方案:优先让MinGW工具被找到

如果你不想移除Git路径,也可以把MinGW的bin目录放到PATH最前端,让CMake优先使用MinGW的工具,避开Git的sh.exe干扰:

set PATH=C:\MinGW\bin;%PATH%  # 替换成你的MinGW实际安装路径

永久修改PATH(需管理员权限,影响全局环境)

如果希望所有新打开的cmd窗口都自动排除Git路径,可以通过命令行修改系统环境变量:

  1. 以管理员身份打开命令提示符
    右键点击开始菜单,选择「Windows终端(管理员)」或「命令提示符(管理员)」。

  2. 查看当前系统PATH
    运行命令获取系统级的PATH配置:

    reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PATH
    
  3. 修改并设置新的PATH
    把输出中的PATH值复制出来,手动移除C:\Program Files\Git\cmd;和C:\Program Files\Git\usr\bin;部分,然后用setx命令写入系统环境变量:

    setx /M PATH "修改后的完整PATH字符串"
    

    注意:/M参数表示修改系统环境变量,必须有管理员权限。如果遇到超长PATH被截断的问题,可以改用PowerShell命令:

    $envPath = [Environment]::GetEnvironmentVariable("PATH", "Machine")
    $newPath = $envPath -replace "C:\\Program Files\\Git\\cmd;","" -replace "C:\\Program Files\\Git\\usr\\bin;",""
    [Environment]::SetEnvironmentVariable("PATH", $newPath, "Machine")
    
  4. 生效方式
    修改完成后,需要重启所有打开的命令行窗口,或者注销再登录,新的PATH配置才会生效。


内容的提问来源于stack exchange,提问作者curlywei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:56:36