适用于Windows的Git - 由于缺少libiconv2.dll,程序无法启动

use*_*945 93 git msysgit

当我尝试从Windows 7(64位)上的git Bash运行某些命令(例如git push)时,我收到错误:

The program can't start because libiconv2.dll is missing from your computer
Run Code Online (Sandbox Code Playgroud)

我已经详尽地搜索了解决这个问题的方法.
我能找到的最多是谷歌代码网站(问题419)和其他一些博客的问题主题.据我所知,这些帖子中提出的建议都不能解决我的问题.

我试过重新安装.我试过添加$GIT/binPATH.
我可以验证dll是否在$GIT/bin目录中...但仍然无法推送到远程.

我在另一个Windows 7机箱上安装了msysgit,我在两种情况下都安装了相同的方式......所以不用说我很困惑.

任何有关这方面的帮助将非常感激.

谢谢,

pau*_*ote 104

解决这个问题:http://groups.google.com/forum/#!topic/msysgit/twrVn_EbNI4

  • cd 进入你的git安装目录
  • copy mingw\bin\libiconv-2.dll libexec\git-core
    (或者copy bin\libiconv-2.dll libexec\git-core如果您的安装没有mingw文件夹)

在链接的线程中,Drew请求帮助,因此如果您认为可以帮助解决问题,则可能需要回复该Google网上论坛帖子.

这些构建发生错误:

  • msysgit-fullinstall-1.7.4或1.7.6(和1.7.7)
  • msysgit-netinstall-1.7.4或1.7.6(和1.7.7)
  • Git For Windows 1.7.6(但不是 1.7.4)

  • 使用git-1.7.8我需要在另一个方向上复制文件; libiconv2.dll存在于`libexec/git-core`中,但需要复制到`bin`(或链接:`mklink/H libexec\git-core\libiconv2.dll bin\libiconv2.dll`). (9认同)
  • 我不得不将文件复制到bin文件夹以使其正常工作. (6认同)
  • 这是我的问题的解决方案.我认为值得注意的是,此解决方案特别适用于"子模块更新"期间的错误,但也可能修复其他实例. (5认同)
  • @ grapple的修复程序适用于最新版本1.7.10-preview20120409,除了它是`libiconv-2.dll`. (4认同)

小智 41

  • copy/Program Files/Git/bin/libiconv-2.dll
  • 到/ Program Files/Git/libexec/git-core /


use*_*945 15

我已经解决了这个问题......这里有几点需要注意.

1)问题是我在本地.git/config文件中配置的来源错误...所以我是个白痴.

2)Git Bash在这种情况下不会优雅地失败,然后将这个误导性错误作为警报抛出,而不是报告.git/config文件中没有指定名称的配置来源.

我能够解决这个问题的唯一方法是将$ GitPath/cmd目录添加到我的路径并从命令行运行git.在那里,我能够得到一个详细的错误消息,表明远程存储库尚不存在.然后我拉起了可靠的vi编辑器,看到实际上有一个错字.

这里的教训.如果你在msysgit中遇到一个奇怪的.dll错误,很可能是错误配置的结果......而不是某些系统异常或安装问题.

感谢所有试图帮助解决这个问题的人!


so_*_*_mv 14

我看到这个错误与msysGit-fullinstall-1.7.3.1-preview20101002.exe在Win 7.

Added <msysgit_dir>\mingw\bin to PATH 
Run Code Online (Sandbox Code Playgroud)

修理它.在该目录中找到了libiconv2.dll.

  • 这对我不起作用,不得不将DLL复制到%WINDIR%(C:\ windows) (2认同)

小智 10

在Mac上的SmartGit中有这个问题.通过更改首选项 - >命令 - >可执行文件来修复它

Git可执行文件:

/usr/bin/git
Run Code Online (Sandbox Code Playgroud)

至:

/usr/local/git/bin/git
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!在我的情况下,我不得不使用/ usr/local/bin/git. (2认同)