Cygwin 找不到 make 程序但已安装

Cygwin cannot find make program but it is installed

我已经在 Windows 7 SP1 Professional 64 位上安装了 Cygwin。

我刚刚在安装中添加了 make,然后我重新启动了 shell 但它没有找到它。

如果我这样做 ls -la /bin/ma* 我得到:

-rwxr-xr-x 1 Uic18 IC+Group(513)  92691 oct 10  2016 /bin/man.exe
-rwxr-xr-x 1 Uic18 IC+Group(513) 113683 oct 10  2016 /bin/mandb.exe
-rwxr-xr-x 1 Uic18 IC+Group(513)  29203 oct 10  2016 /bin/manpath.exe

但是,如果我这样做 ls -la /cygdrive/d/cygwin64/bin/ma* 我得到:

-rwxr-xr-x 1 Uic18 IC+Group(513) 198675 abr  1  2017 /cygdrive/d/cygwin64/bin/make.exe
-rwxr-xr-x 1 Uic18 IC+Group(513)  92691 ene 23 21:23 /cygdrive/d/cygwin64/bin/man.exe
-rwxr-xr-x 1 Uic18 IC+Group(513) 113683 ene 23 21:23 /cygdrive/d/cygwin64/bin/mandb.exe
-rwxr-xr-x 1 Uic18 IC+Group(513)  29203 ene 23 21:23 /cygdrive/d/cygwin64/bin/manpath.exe

并且 make 出现在安装程序中 (setup-x86_64.exe)。

我还需要做其他事情吗?

您似乎安装了两个独立的 Cygwin 安装。当您执行 ls -la /bin/ma* 时,您的第一个安装没有 make,但是您的 ls -la /cygdrive/d/cygwin64/bin/ma* 正在查看 D:\cygwin64\ 下安装的第二个安装的内容。

(请注意,安装 #1 的可执行文件可追溯到 2016 年,而安装 #2 的可执行文件可追溯到今年 1 月。)

因此,如果您从正确的地方开始 terminal/shell,应该没问题。 (例如,如果您使用的是快捷方式,请确保它引用的是 D:\cygwin64\bin 而不是其他内容。)

您可以通过从您的 Cygwin 终端发出 df -a 来 double-check 安装。