我在Windows上使用Git Bash时,如果没有指定执行文件的完整路径,就无法运行任何可执行文件,即使它们位于我的PATH变量中的文件夹中。看起来Bash不识别这些文件。为什么?我能否修复这个问题?
我在Windows上使用Git Bash时,如果没有指定执行文件的完整路径,就无法运行任何可执行文件,即使它们位于我的PATH变量中的文件夹中。看起来Bash不识别这些文件。为什么?我能否修复这个问题?
明白了。作为Windows用户,我习惯于在不添加文件扩展名的情况下输入可执行文件名。在我的情况下,我想要执行一个名为cup.bat
的文件。在Windows shell中,只需键入cup
即可。但是Bash不是这样工作的,它需要完整的名称。输入cup.bat
解决了问题。(然而,我无法运行该文件,因为显然bash无法理解其内容)
这是转向posh-git的另一个原因。
感谢@Tom指引我正确的方向。
alias cup=cup.bat
。 - Vitali.bat
,这个扩展名意味着它是一个Windows批处理脚本 - 特别是在Windows机器上。 - tripleeenpm --version
会一直给出旧版本。而 npm.cmd --version
则会给出正确的版本。 - Sarsaparilla也许bash看不到你的Windows路径。在bash中输入env|grep PATH
确认它看到了哪个路径。
在@Daniel的评论和感谢@Tom的回答后,我发现Git bash确实使用了PATH,但没有使用我最近安装的最新路径。为解决这个问题,我在我的主目录(windows)中添加了一个名为:
.bashrc
并且内容如下:
PATH=$PATH:/c/Go/bin
因为我正在安装Go,而这个路径包含可执行文件go.exe
。现在,Git Bash能够识别命令:
go
也许在我的情况下只需系统重启就足够了,但我很高兴这个解决方案可以在任何情况下都起作用。
PATH=$PATH:/c/Go/bin:/c/other/path
- Mikaël Mayerc:/Users/[myusername]/
这是我的主目录。 - Mikaël Mayer在安装 Git 时,你可以选择下面展示的选项,它会自动帮你设置路径。
对我来说这个方法很好用 :)
cmd.exe
,powershell.exe
和 git-bash.exe
,然后从开始菜单或桌面上下文重新打开一个 cmd.exe 窗口。
如果您更改了系统范围的 PATH
,您可能还需要打开一个特权 cmd 窗口。
从 Windows 资源管理器上下文菜单中打开 Git bash 并检查是否更新了 PATH
环境变量。请注意,IntelliJ IDEA 中的终端可能是登录 shell 或其他一些特殊类型,因此其中的 PATH
可能不会更改,直到重新启动 IDEA。
如果这样做不起作用,您可能需要关闭所有的 Windows Explorer
进程,然后重试上述步骤。
使用任务管理器关闭所有的 Windows Explorer
进程:
注意:这并不适用于所有的Windows版本,而且在开始菜单或桌面上下文菜单以外的任何地方打开cmd.exe
可能无法正常工作,我已经在我的4台电脑上测试过了,其中3台可以正常工作。我没有弄清楚为什么会这样,但由于PATH
环境变量在我登录和注销时会自动生成,所以我不想通过变量拼接来搞乱这个变量。
在向PATH添加新值后,请重新启动计算机。
PATH=$PATH:/c/Program\ Files\ \(x86\)/Application\ with\ space
mv config.bashrc .bashrc
虽然这是一个旧问题,但它可以帮助其他人。
我已经全局更改了我的PATH变量,然后我只是注销并重新登录了一次。
就这样!git bash
正确加载了新的PATH值。
export PATH=$NEW_PATH:$PATH
。然后正常进行操作。 - fernandosavio我可以确认重新启动系统会确保 git 使用在 Windows 环境变量中设置的 PATH,并且没有其他自动方式。