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

Windows系统Git Bash无法识别yarn命令问题求助

根本原因
  • Git Bash 属于类 Unix Shell,执行命令时的可执行文件优先级为:无后缀可执行文件 > .exe > .cmd 等 Windows 专属后缀文件
  • 通过 npm i -g yarn 全局安装时,npm 会在全局 npm 目录(默认路径为 C:\Users\<你的用户名>\AppData\Roaming\npm)生成两套 yarn 启动入口:
    • 无后缀的 yarn/yarnpkg 文件:为 Unix 系统设计的 Shell 脚本,不兼容 Windows 路径解析逻辑
    • yarn.cmd/yarnpkg.cmd 文件:为 Windows 终端设计的批处理脚本,适配 Windows 路径规则
  • 在 Git Bash 中输入 yarn 时,会优先调用无后缀的 Unix 版脚本,该脚本解析 node 路径时会混用 Windows 与 Unix 的路径分隔符,最终误将 Windows 版 node 可执行文件当作 Shell 脚本执行,因此抛出 line 1: This: command not found 报错。而 cmd、PowerShell 默认优先识别 .cmd 后缀文件,因此运行正常。
永久解决方案

任选以下任意一种操作即可:

方案1:添加 Git Bash 别名(最便捷,无全局文件修改)

  1. 打开 Git Bash,执行 nano ~/.bashrc 打开用户终端配置文件
  2. 在文件末尾新增一行:alias yarn='yarn.cmd'
  3. 按 Ctrl+O 回车确认保存,按 Ctrl+X 退出编辑器
  4. 执行 source ~/.bashrc 让配置立即生效
    后续 Git Bash 中输入 yarn 会自动映射为 yarn.cmd 执行,使用体验和其他终端完全一致。

方案2:删除冗余的 Unix 版 yarn 启动文件

  1. 打开资源管理器,进入全局 npm 目录 C:\Users\<你的用户名>\AppData\Roaming\npm
  2. 找到无后缀的 yarn 和 yarnpkg 两个文件(注意不要误删后缀为 .cmd 的同名文件),直接删除即可
  3. 重启 Git Bash 后,终端会自动识别 .cmd 后缀的 yarn 启动文件,运行正常。

如果你使用 NVM 管理 Node 版本,只需进入 NVM 对应版本的全局 npm 目录执行相同删除操作即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:54:04