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

时间:2010-08-07 17:25:09

标签: git msysgit

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

The program can't start because libiconv2.dll is missing from your computer

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

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

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

对此的任何帮助都将非常感激。

谢谢,

25 个答案:

答案 0 :(得分: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 OR 1.7.6(和1.7.7)
  • msysgit-netinstall-1.7.4 OR 1.7.6(和1.7.7)
  • Git For Windows 1.7.6(但 1.7.4)

答案 1 :(得分:41)

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

答案 2 :(得分:15)

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

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

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

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

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

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

答案 3 :(得分:14)

我在Win 7上看到了msysGit-fullinstall-1.7.3.1-preview20101002.exe的错误。

Added <msysgit_dir>\mingw\bin to PATH 

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

答案 4 :(得分:9)

在Mac上的SmartGit中出现此问题。 通过改变来修复它 偏好设置 - &gt;命令 - &gt;可执行

Git可执行文件:

/usr/bin/git

为:

/usr/local/git/bin/git

答案 5 :(得分:3)

由于SmartGit在错误结果中引用了stackoverflow的这一页,我认为这些知识可能对这里的某些人有用....

有时虽然git安装没有问题。即使您可以使用git bash并通过键入

获取版本信息
git -- version 

SmartGit不添加存储库并返回git is obsolote或无法获取版本信息(或类似于此消息)...

如果是这样,您最好先检查安全实用程序和病毒清除应用程序设置。在我的情况下,禁用comodo防火墙使smartgit能够看到健康的git安装和版本信息。

答案 6 :(得分:3)

sqzaman答案的变化,因为我没有在同一个地方放置文件夹:

Copy
%USERPROFILE%\Local Settings\Application Data\GitHub\PortableGit_*\bin\*.dll
to
%USERPROFILE%\Local Settings\Application Data\GitHub\PortableGit_*\libexec\git-core

请注意,我从复制libiconv-2.dll开始,但后来抱怨libcurl.dll所以我继续复制* .dll

答案 7 :(得分:2)

要解决此问题,我实际上必须将所有DLL从mingw/bin/复制到bin/(不会覆盖任何现有的一次)。我使用远程HTTPs存储库,它只是继续抱怨。

答案 8 :(得分:2)

我刚尝试在Windows上安装SmartGIT并面临同样的问题。我只是弄清楚它的工作原理不是通过将其指向git.exe,而是将其指向C:\ msysgit \ cmd \ git.cmd。到目前为止,它的工作正常。我可以访问msysgit下的git存储库。

仅供参考,我正在使用Windows的Net安装程序。

希望这是正确的方法。

答案 9 :(得分:2)

我的回答解决了msysgit的相同错误,但可能对纯git有帮助。

在Windows 7上,我将<msysgit_dir>\mingw\bin添加到PATH as so_mv has recommended above(通过系统变量GUI),但我必须注销并在此之后登录操作系统,否则PATH值不会更新。

答案 10 :(得分:2)

解决此问题的最快方法是将* .dll文件放在另一台PC上并复制它=)

答案 11 :(得分:1)

Personally I solved it by reading the error I got from getopt.exe, that told me it was missing "libiconv2.dll".. I had libiconv-2.dll (notice the dash "-") in C:\Program Files (x86)\Git\bin. Making a copy and naming it libiconv2.dll did the trick for me...

I used some chocolatey packages ... maybe the actual file was renamed during its development lifetime... and the dependencies in the packages did not....

Well hope it helps someone out there :)

答案 12 :(得分:1)

SourceTree的一种可能解决方案:

   1.Open the "Option" window.
   2.Select "Git".
   3.Than "Use System Git".
   4.And press OK button.

答案 13 :(得分:1)

我安装了Git for Windows,然后是Git以便复制.dll

这对我不起作用。要解决这个问题,我必须添加路径:

C:\Users\*username*\AppData\Local\GitHub\PortableGit_015aa71ef18c047ce8509ffb2f9e4bb0e3e73f13\cmd

PATH环境变量。

这解决了问题,我现在可以从命令提示符访问git。

答案 14 :(得分:1)

运行\ msysgit \ bin \ git.exe时,我在Windows 7上遇到了同样的错误。 我通过将\ msysgit \ mingw \ bin \ libiconv-2.dll复制到Win 7安装目录的根目录来修复它。

答案 15 :(得分:1)

如果在Windows上启动SourceTree时出现错误“缺少libiconv-2.dll”,则以下为我工作(Win 8.1):

转到

C:\Users\$USERNAME$\AppData\Local\Atlassian\SourceTree\git_local\bin

复制

libcrypto.dll
libcurl.dll
libiconv-2.dll
libssl.dll

C:\Users\$USERNAME$\AppData\Local\Atlassian\SourceTree\git_local\libexec\git-core

答案 16 :(得分:0)

我一直困扰着这个问题,为了纠正这个问题,我卸载了tortoisegit和msysgit,然后重新安装了“Git-1.8.1.2-preview20130201”。

通过这样做,这纠正了我的问题,我无法使用poshgit。

答案 17 :(得分:0)

复制所有.dll:

C:\ Users \用户YOURUSERNAME \应用程序数据\本地\ GitHub的\ PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0 \的mingw32 \ BIN

为:

C:\ Users \用户YOURUSERNAME \应用程序数据\本地\ GitHub的\ PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0 \的mingw32 \的libexec \ git的核

答案 18 :(得分:0)

我遇到了同样的问题,我使用的是Windows 10,解决这个问题非常容易。

从以下网址下载dll文件:

https://www.dll-files.com/libiconv-2.dll.html

将其解压缩或直接粘贴到mingw文件夹中,如果使用默认选项安装它,通常在C驱动器中。希望它有所帮助。

答案 19 :(得分:0)

尝试以下命令:

sudo rm -rf /Library/Developer/CommandLineTools 

并安装开发人员工具

答案 20 :(得分:0)

我正在使用GitHub桌面版并遇到同样的问题,我通过设置更改了默认shell - &gt;选项---&gt;默认shell并检查了Git bash。我开始&#34;打开Git shell&#34;并运行&#34; git pull&#34;命令,它解决了问题。它适用于我的情况。

答案 21 :(得分:0)

在我的情况下,我使用chocolatey(chocolatey.org)来安装git。

我必须将libconv-2.dll复制到C:\ProgramData\chocolatey\bin才能使其正常运行。我不确定是否也必须将文件复制到C:\Program Files (x86)\Git\libexec\git-core,就像我先做的那样。

答案 22 :(得分:0)

我最初试图通过复制这里提到的dll来解决这个问题,但很快就遇到了其他问题。对我来说,真正的解决方案是在我的.bashrc文件中为msys设置路径,以优先处理msys二进制文件。

在〜/ .bashrc中打开msys shell和以下行:

export PATH = / usr / local / bin:/ mingw / bin:/ bin:$ PATH

答案 23 :(得分:0)

我在Windows7上有msysgit,没有任何DLL问题。

我在bin目录中有libiconv2.dll:C:\Path\To\Git\1.7.1\bin

issue 419是关于安装“开发环境来编译Git for Windows”的人,而不仅仅是Git。 请参阅此SO answer for the difference between the two

你安装了哪一个?

  • Git-1.x.x.x...? (如'Git-1.7.0.2-preview20100309.exe'),
  • msysGit-netinstall-1.x.x...? (如'msysGit-netinstall-1.7.1-preview20100612.exe')。

答案 24 :(得分:-1)

我在尝试配置meanio时必须处理同样的错误消息,其中git是先决条件(我的特殊错误是:找不到先决条件:git)。
我发现的修复需要从

复制libiconv2.dll
C:\Program Files (x86)\Git\bin

C:\Program Files (x86)\Git\libexec\git-core

然后我不得不对windows系统环境变量进行一些调整(右键单击计算机,转到属性,单击左侧垂直条上的“高级系统设置”,选择环境变量) 进入环境变量后,查看“系统变量”框。找到

PATH

变量并添加三个新引用:

C:\Program Files (x86)\Git\bin;
C:\Program Files (x86)\Git\cmd;
C:\Program Files (x86)\Git\libexec\git-core

这样,所有必需的git文件都可以通过系统路径访问。

希望这有帮助!