Git для Windows - Программа не может запуститься, потому что отсутствует libiconv2.dll - PullRequest
93 голосов
/ 07 августа 2010

Когда я пытаюсь запустить определенные команды (например, git push) из git Bash в Windows 7 (64bit), я получаю сообщение об ошибке:

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

Я исчерпывающе искал решение этой проблемы.
Максимум, что я могу найти, - это тема на сайте кода Google ( Issue 419 ) и в нескольких других блогах. Насколько я могу судить, ни одно из предложенных в постах предложений не решит мою проблему.

Я попытался переустановить. Я попытался добавить $GIT/bin к PATH.
Я могу проверить, что dll находится в каталоге $GIT/bin ... но все равно не могу нажать на удаленный.

У меня есть рабочая установка msysgit на другом компьютере с Windows 7, и я установил одинаково в обеих ситуациях ... так что, разумеется, я в замешательстве.

Любая помощь по этому вопросу была бы очень признательна.

Спасибо

Ответы [ 25 ]

104 голосов
/ 03 августа 2011

Обходите из этой темы: 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)

В связанной ветке Дрю просит помощи, поэтому, если вы считаете, что можете помочь исправить ее, вы можете ответить в этой ветке Групп Google.

Ошибка возникает в следующих сборках:

  • msysgit-fullinstall-1.7.4 ИЛИ 1.7.6 (и 1.7.7)
  • msysgit-netinstall-1.7.4 ИЛИ 1.7.6 (и 1.7.7)
  • Git для Windows 1.7.6 (но не 1.7.4)
41 голосов
/ 21 сентября 2011
  • copy / Program Files / Git / bin / libiconv-2.dll
  • в / Program Files / Git / libexec / git-core /
15 голосов
/ 07 августа 2010

Я решил это ... есть пара вещей, на которые следует обратить внимание.

1) Проблема заключалась в опечатке в моем настроенном источнике в моем локальном файле .git / config ... Итак, яЯ идиот.

2) В этой ситуации Git Bash не завершается с ошибкой, а затем выдает эту очень вводящую в заблуждение ошибку в качестве предупреждения, вместо того, чтобы сообщать, что не настроено происхождение имени, указанного в.git / config file.

Единственный способ, которым я смог это выяснить, - это добавить каталог $ GitPath / cmd в мой путь и запустить git из командной строки.Там я смог получить подробное сообщение об ошибке, указывающее, что удаленного хранилища еще не существует.Затем я поднял верный редактор vi и увидел, что на самом деле произошла опечатка.

Урок здесь.Если вы получаете странную ошибку .dll с msysgit, это может быть скорее неправильной конфигурацией ... а не какой-то системной аномалией или проблемой установки.

Спасибо всем, кто пытался помочь с этим!

14 голосов
/ 17 октября 2010

Я видел эту ошибку с msysGit-fullinstall-1.7.3.1-preview20101002.exe на Win 7.

Added <msysgit_dir>\mingw\bin to PATH 

исправить это. В этом каталоге была найдена libiconv2.dll.

10 голосов
/ 02 февраля 2017

Была эта проблема в SmartGit на Mac.Исправлено это путем изменения в Настройки -> Команды -> Исполняемый файл

Исполняемый файл Git:

с

/usr/bin/git

на:

/usr/local/git/bin/git
3 голосов
/ 21 октября 2012

Поскольку SmartGit ссылается на эту страницу stackoverflow в результате ошибки, я думаю, что эти знания могут быть полезны для кого-то здесь ...

Иногда, хотя нет никаких проблем с установкой git.Даже если вы можете использовать git bash и получить информацию о версии, набрав

git -- version 

SmartGit не добавляет репозиторий и возвращает git устарел или информация о версии не может быть получена (или похожа на это сообщение) ...

Если это так, лучше сначала проверить настройки утилит безопасности и приложений для удаления вирусов.В моей ситуации отключение comodo firewall позволяет smartgit видеть информацию об установке и версии healty git.

3 голосов
/ 14 августа 2013

Вариация ответа 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

2 голосов
/ 26 июля 2012

Мой ответ устраняет ту же ошибку для msysgit, но может помочь с чистым git.

В Windows 7 я добавил <msysgit_dir>\mingw\bin к PATH , как so_mv рекомендовал выше (через GUI системных переменных), но мне пришлось выйти из системы и войти в ОС после этого , иначе значение PATH не будет обновлено.

2 голосов
/ 26 марта 2012

Я только что попытался установить SmartGIT на Windows и столкнулся с той же проблемой.Я просто выяснил, что он работает, не указывая его на git.exe, вместо этого я указал на C: \ msysgit \ cmd \ git.cmd.Пока все работает просто отлично.Я могу получить доступ к репозиторию git из msysgit.

К вашему сведению, я использую сетевой установщик для Windows.

Надеюсь, что это правильный подход.

2 голосов
/ 07 августа 2010

Самый быстрый способ исправить это - найти файл * .dll на другом компьютере и скопировать его =)

...