为什么可以';我不能修复cygwin1.dll不匹配的问题吗?

为什么可以';我不能修复cygwin1.dll不匹配的问题吗?,cygwin,Cygwin,我正在尝试执行一个.sh脚本(不是我写的),但出现以下错误: 0[main]echo(5320)C:\Program Files\Git\usr\bin\echo.exe:**致命错误-检测到cygheap基不匹配-0x180343408/0x180317408。 此问题可能是由于使用了不兼容的cygwin DLL版本。 使用Windows开始->查找/搜索功能搜索cygwin1.dll 并删除除最新版本以外的所有版本。最新版本应为 驻留在x:\cygwin\bin中,其中“x”是您所在的驱动器

我正在尝试执行一个.sh脚本(不是我写的),但出现以下错误:

0[main]echo(5320)C:\Program Files\Git\usr\bin\echo.exe:**致命错误-检测到cygheap基不匹配-0x180343408/0x180317408。 此问题可能是由于使用了不兼容的cygwin DLL版本。 使用Windows开始->查找/搜索功能搜索cygwin1.dll 并删除除最新版本以外的所有版本。最新版本应为 驻留在x:\cygwin\bin中,其中“x”是您所在的驱动器 安装了cygwin分发版。如果需要,也建议重新启动 无法找到另一个cygwin DLL

我试图按照错误中的说明操作,但我只有一个cygwin1.dll文件

因此,我尝试在git bash shell中执行以下命令:

/c/cygwin/bin/man

我得到:

0[main]man(11952)C:\cygwin\bin\man.exe:**致命错误-cygheap 检测到基极不匹配-0x180317408/0x180343408。这个问题是 可能是因为使用了不兼容的cygwin DLL版本。搜寻 使用Windows开始->查找/搜索功能和 删除除最新版本以外的所有版本。最新版本 应位于x:\cygwin\bin中,其中“x”是安装了cygwin发行版的驱动器。还建议重新启动

我已经尝试过在漏洞攻击保护面板中禁用ASRL选项(根据某人的建议)并重新启动,但这并没有解决问题

如果我写

哪个-一个cygwin1.dll

我得到:

/c/cygwin/bin/cygwin1.dll

/c/cygwin/bin/cygwin1.dll

看起来我有两个cygwin1.dll,但实际上我只有一个。。 几天以来,我一直在寻找一个可能的解决办法,但似乎没有什么对我有效。
有什么建议吗?

当错误消息提到
cygwin1.dll
时,由于
Git for Windows
正在使用
MSYS
,文件被重命名为
MSYS-2.0.dll

不幸的是,MSYS团队在导入和修改
Cygwin
源代码时忘记更改错误消息:

  • 在您的计算机上查找所有
    msys-2.0.dll
    ,并向其添加后缀
    .bkp
  • 无论您在何处找到它们,请将
    “C:\Program Files\Git\usr\bin\msys-2.0.dll”
    复制到这些位置

注:

  • 如果要从
    C:\msys64\usr\bin\msys-2.0.dll
    复制到所有其他位置,则会在末尾丢失显示您所在分支
    (主分支)
    • 同样,如果您决定删除所有额外的DLL,并将
      C:\msys64\usr\bin
      添加到您的路径,则它必须查找与它通常驻留的目录相关的依赖项
  • 因为显然我浏览了选定的答案,错过了关于
    msys-2.0.dll
    的部分,所以我必须自己解决这个问题。供日后参考:
    • 检查基础、路径和版本信息是否存在差异