在Windows下的git bash中扩展$PATH变量

58

我正在尝试通过将以下内容添加到文件~/.bashrc中,在git bash(MinGW shell)中扩展我的$PATH变量:

PATH=$PATH':/c/Program Files/maven/apache-maven-3.2.5/bin'

我执行了这个操作并重新启动bash后,$PATH变量似乎像预期的那样被扩展了:

$ echo $PATH
MANY_OTHER_PATHS:/c/Program Files/maven/apache-maven-3.2.5/bin

但我仍然无法在给定的目录中执行程序:

$ mvn
bash: mvn: command not found

这里出了什么问题?我该如何正确地扩展PATH变量?


1
你可能需要转义 Program Files 中的空格。尝试使用 Program\ Files。 - EvanM
1
那也不行。我之前已经尝试过了。 - eztam
4个回答

53

以下是两个想法。

您可以使用双引号标记来指定路径。

export PATH=$PATH:"/C/Program Files (x86)/apache-maven-3.3.3/bin"

进入图像描述

或者,您也可以为目录创建符号链接。

ln -s "/C/Program Files (x86)/apache-maven-3.3.3/bin" ./mvnbin
export PATH=$PATH:/your-path/mvnbin

进入图像描述

在我的mingw32环境中有效。


1
你也可以创建一个别名(基本上相当于符号链接)。 - EvanM
1
好的,这是一个选项,谢谢。但你也可以回答他。 - tommybee
当我运行第一个命令(将目录添加到PATH)时,我会收到一个无用的错误"bash:/c/my/path:是一个目录"(当然它是一个目录!),即使我的语法与你的相同(只是不同的文件夹路径)。有什么想法吗? - Dai
将其设置为别名,然后将其添加到路径中对我很有用。只需使用别名将各个二进制文件添加到路径即可。 - Entalpi

15

每次打开 Git Bash 都需要将 Meld.exe 的路径添加到永久路径中。可以使用以下命令添加:

export PATH=$PATH:"/C/Program Files (x86)/Meld/lib"
为了在每个bash会话中执行此命令,您需要一个~/.bashrc文件。使用notepad ~/.bashrctouch ~/.bashrc检查它是否已存在或创建它。
您可以使用以下命令检查其位置:
echo ~

打开它并添加将路径加入 PATH 的命令(此响应中的第一个命令)。

希望你觉得这个有用。


13

在Git Bash中永久添加路径 | 仅适用于Windows

如果你还在想如何在git bash中永久添加路径,以下是逐步过程(仅适用于Windows用户):

  1. Create .bashrc in user's root folder using the below command. It will open notepad and ask you to create the file, click yes.
    notepad ~/.bashrc
    
  2. Put the directory you want to add as below, for more than 1 items repeat the same format in next line:
    export PATH=$PATH:"/c/folder/folder/"
    
  3. Save the file and relaunch the bash.
  4. Next launch will give you a warning like WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile. but git bash will handle it by creating the required files.

一些见解

  1. Git Bash不会获取Windows环境的PATH变量,而是像Linux一样维护自己的PATH。
  2. 你可以在cmd中运行export PATH=$PATH:"/c/folder/folder/"将目录添加到PATH,但这只对当前会话有效,一旦关闭bash,这些设置就会消失。
  3. .bashrc是一个shell脚本文件,每次启动新的git bash窗口时都会执行。因此,你可以在这里添加任何类型的bash命令。我们只需添加export命令来将所需的目录添加到PATH中。

到目前为止最好的答案 - Alex
1
绝对是Windows用户的最佳选择。它还可以与Visual Studio Code无缝配合使用。 - Péter Szilvási
1
请注意:如果 .profile 文件已经存在,您还需要将导出代码添加到 .profile 文件中。 - Studocwho

2

1
就你第一篇帖子而言,你在冒号之前有一个单引号,这是不起作用的。我建议尝试将路径设置为仅包含Maven二进制文件夹,以避免在路径的其他部分出现解析错误。 - EvanM
1
另外,要进行调试,您不需要编辑.bashrc文件,您可以在提示符下更改当前会话。此外,“source ~/.bashrc”将重新运行脚本。 - EvanM
1
谢谢,这些是非常好的提示。但不幸的是,无论我如何更改它都不起作用。 - eztam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接