msys2:尽管(MSYS2_PATH_TYPE = inherit),仍无法找到Windows程序

21

使用 MSYS2 64 位版本 20161025 在 Windows 10 上...

我无法让 msys2 认识到在 windows 路径中的程序。例如,在使用 windows 安装程序安装 Go 版本 1.8.3 后:(1) Cygwin 找到 go.exe (2) Windows 命令提示符找到 go.exe,但是 (3) MSYS2 没有找到。

请参考附图。提前感谢。 enter image description here


1
不要为此目的发布图片。文本阅读所需时间更短。 - hagello
你最终解决了这个问题吗? - Chris Chiasson
2个回答

33

运行 msys2_shell.cmd -use-full-path

或者取消注释 msys2.ini 中的 MSYS2_PATH_TYPE=inherit (可以在 MSYS2 安装目录中找到)。


相关 GitHub 问题,涉及 inherit 标志。


4
msys2_shell.cmd -use-full-path 对我有效,但 MSYS2_PATH_TYPE=inherit 不行。 - UltimaWeapon
2
对我来说,MSYS2_PATH_TYPE=inherit 对我不起作用。 - hkennyv
2
当我运行mingw64.exe时,取消注释mingw64.ini中的MSYS2_PATH_TYPE=inherit对我有用。我会假设对于您运行的可执行文件,mingw32.inimsys2.ini也适用。 - limco
如果使用ConEmu / Cmder,您可能需要在调用中设置变量。在启动->任务->Msys2-64->命令下添加“&set MSYS2_PATH_TYPE = inherit”之前,没有其他方法可行。 - AnnanFay

2

我刚刚将我想要从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 ~
#

当前使用的路径:Msys2


我做了完全相同的事情,因为我不想在我的msys2 $PATH中包含整个Windows %PATH% - 在我的情况下,我需要添加/c/Users/username/AppData/Roaming/npm。 - Emmanuel

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