经过多年没有出现问题,我在 64 位 Windows 7 Professional 上安装的cygwin64 中的几个程序突然无法运行,而是似乎立即退出并显示代码 127,这通常意味着在 Bash 中“找不到命令”。尤其是,节目喜欢vim,emacs甚至clear出现此行为,而其他人一样vi,echo,touch,和date似乎正常工作。
起初,我认为上一轮软件包更新可能出了问题,所以我使用 cygwin setup 的命令行界面运行了另一个更新,但似乎没有帮助。
据我所知,受影响的程序根本不起作用。甚至没有--version对程序工作进行标记,这让我认为 cygwin 本身或常见依赖项可能有问题:
$ vim --version
$ echo $?
127
Run Code Online (Sandbox Code Playgroud)
(如果有帮助,我可以提供各种软件包的特定版本号,但由于这个问题在最近更新之前和之后都存在,我怀疑它很重要。)
我仔细检查了我的 PATH 变量,它以 开头/usr/local/bin:/usr/bin:,正如预期的那样。这些程序中是否有一些新的依赖项没有被 cygwin 的包管理器正确解析,或者可能没有自动添加到我的 PATH 中?
我错过了其他明显的东西吗?