运行 msys2_shell.cmd -use-full-path
或者取消注释 msys2.ini
中的 MSYS2_PATH_TYPE=inherit
(可以在 MSYS2 安装目录中找到)。
相关 GitHub 问题,涉及 inherit
标志。
msys2_shell.cmd -use-full-path
对我有效,但 MSYS2_PATH_TYPE=inherit
不行。 - UltimaWeaponMSYS2_PATH_TYPE=inherit
对我不起作用。 - hkennyvmingw64.exe
时,取消注释mingw64.ini
中的MSYS2_PATH_TYPE=inherit
对我有用。我会假设对于您运行的可执行文件,mingw32.ini
和msys2.ini
也适用。 - limco我刚刚将我想要从Msys2访问的路径添加到home/{我的用户名}/
中的.bash_profile
文件中。这很有效。我只是在Windows中使用Notepad++进行编辑,但你也可以使用nano或vim。
我无法使.ini文件中的“inherit”起作用,也无法使msys2 shell cmd(它打开了另一个终端窗口,其路径与我最初使用的相同)起作用。
我真的不想要整个Windows路径,因为它有Git for Windows的bin文件夹(一个残缺的MingW64构建),我认为可能会发生奇怪的事情。
该文件看起来像这样:
# User dependent .bash_profile file
# source the users bashrc if it exists
if [ -f "${HOME}/.bashrc" ] ; then
source "${HOME}/.bashrc"
fi
# Add Coretto Java 11 and Windows Python to path
PATH="${PATH}:/c/batch:/c/Program Files/Python310/Scripts/:/c/Program Files/Python310/:/c/Program Files/Amazon Corretto/jdk11.0.16_9/bin"
记得将 C:\
更改为 /c/
,并将所有反斜杠更改为正斜杠。使用冒号分隔路径,而不是分号。用引号括起路径。使用 ${PATH}
保留所有这些 /bin/
目录的现有路径。目录名称中的空格没问题。
这是我在 Msys2 终端中得到的:
StephanPeters@Stephan-HPZBook15G4-Y4E78AV MSYS ~
# java --version
openjdk 11.0.16.1 2022-08-12 LTS
OpenJDK Runtime Environment Corretto-11.0.16.9.1 (build 11.0.16.1+9-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.16.9.1 (build 11.0.16.1+9-LTS, mixed mode)
StephanPeters@Stephan-HPZBook15G4-Y4E78AV MSYS ~
# which java
/c/Program Files/Amazon Corretto/jdk11.0.16_9/bin/java
StephanPeters@Stephan-HPZBook15G4-Y4E78AV MSYS ~
#