Git для Windows - программа не может запускаться, поскольку отсутствует libiconv2.dll

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

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

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

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

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

Любая помощь по этому поводу была бы наиболее оценена.

Спасибо,

Ответ 1

Я решил это... здесь есть несколько вещей.

1) Проблема была опечаткой в ​​моем настроенном происхождении в моем локальном файле .git/config... Так что я идиот.

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

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

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

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

Ответ 2

Работайте по этой теме: 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 Для Windows 1.7.6 (но не 1.7.4)

Ответ 3

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

Ответ 4

Я видел эту ошибку с помощью msysGit-fullinstall-1.7.3.1-preview20101002.exe в Win 7.

Added <msysgit_dir>\mingw\bin to PATH 

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

Ответ 5

Изменение ответа 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

Ответ 6

У этой проблемы в SmartGit на mac. Исправлено, изменив Настройки → Команды → Исполняемые

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

от

/usr/bin/git

в

/usr/local/git/bin/git

Ответ 7

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

Ответ 8

Чтобы решить эту проблему, мне пришлось копировать все DLL с mingw/bin/ в bin/ (не перезаписывая ни один существующий один раз). Я использую удаленные репозитории HTTP, и он просто продолжает жаловаться.

Ответ 9

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

FYI, я использую установщик Net для Windows.

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

Ответ 10

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

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

git -- version 

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

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

Ответ 11

У меня есть msysgit на Windows7 без каких-либо проблем с какой-либо DLL.

У меня есть libiconv2.dll в каталоге bin: C:\Path\To\Git\1.7.1\bin

проблема 419 была о ком-то, кто установил "среду разработки для компиляции Git для Windows", а не только Git.
См. Этот SO ответ на разницу между двумя.

Итак, какой из них вы установили?

  • Git-1.x.x.x...? (например, 'Git-1.7.0.2-preview20100309.exe'),
  • или msysGit-netinstall-1.x.x...? (например, 'msysGit-netinstall-1.7.1-preview20100612.exe').

Ответ 12

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

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

Ответ 13

У меня была такая же ошибка в Windows 7 при запуске \msysgit\bin\git.exe. Я исправил его, скопировав \msysgit\mingw\bin\libiconv-2.dll в корень установочного каталога Win 7.

Ответ 14

Я установил Git для Windows, затем Git, чтобы скопировать DLL

Это не сработало для меня. Чтобы решить проблему, мне пришлось добавить путь:

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

в переменную среды PATH.

Это устранило проблему, и теперь я могу получить доступ к Git из командной строки.

Ответ 15

Лично я решил это, читая ошибку, полученную от getopt.exe, которая сказала мне, что отсутствует "libiconv2.dll". У меня был libiconv-2.dll(обратите внимание на тире "-" ) в C:\Файлы программы (x86)\ Git\bin. Сделав копию и назвав ее, libiconv2.dll помогло...

Я использовал некоторые шоколадные пакеты... возможно, фактический файл был переименован в течение его жизненного цикла разработки... и зависимостей в пакетах не было....

Надеюсь, это поможет кому-то там:)

Ответ 16

Если ошибка "отсутствует libiconv-2.dll" возникает при запуске SourceTree в Windows, после работы для меня (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

Ответ 17

Одно из возможных решений для SourceTree:

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

Ответ 18

Первоначально я пытался решить эту проблему, скопировав dll, как упоминалось здесь, но вскоре столкнулся с другими проблемами. Для меня реальным решением было установить путь в моем файле .bashrc для msys, чтобы определить приоритеты двоичных файлов msys.

Откройте оболочку msys и следующую строку в ~/.bashrc:

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

Ответ 19

Я столкнулся с этой проблемой, чтобы исправить эту проблему, я удалил tortoisegit и msysgit, а затем переустановил "Git -1.8.1.2-preview20130201".

сделав это, это исправило мою проблему, и я не могу использовать poshgit.

Ответ 20

В моем случае я использовал шоколадный (chocolatey.org) для установки git.

Мне пришлось скопировать libconv-2.dll в C:\ProgramData\chocolatey\bin, чтобы заставить его работать. Я не уверен, что копирование файла в C:\Program Files (x86)\Git\libexec\git-core также обязательно, поскольку я сделал это первым.

Ответ 21

Я получил предупреждение libiconv2.dll отсутствует

Итак, я переустановил git и снова установил путь Mycomputer- > RightClick- > Свойства → Предварительная настройка → EnviornmentVariable → Выбрать путь → Изменить вставьте свое местоположение git Пример: - C:\Program Files (x86)\ Git\libexec\git -core

Ответ 22

Я использовал GitHub Desktop Version и имел ту же проблему, я изменил оболочку по умолчанию с помощью параметра → Параметры --- > оболочка по умолчанию и проверила Git bash. Я начал "Открыть Git shell" и запустить команду "git pull", это исправила проблему. Он работал в моем случае.

Ответ 23

Скопировать все DLL файлы из:

C:\Users\YOURUSERNAME\AppData\Local\GitHub\PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0\mingw32\BIN

в

C:\Users\YOURUSERNAME\AppData\Local\GitHub\PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0\mingw32\libexec\git -core

Ответ 24

У меня была такая же проблема, я использую Windows 10, и это очень легко решить эту проблему.

Загрузите файл dll из:

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

извлеките его или вставьте его непосредственно в папку mingw, как правило, на C-диске, если вы установили его с использованием параметров по умолчанию. Надеюсь, что это поможет.

Ответ 25

Попробуйте выполнить следующую команду:

sudo rm -rf /Library/Developer/CommandLineTools 

и установить инструменты разработчика

Ответ 26

Мне пришлось иметь дело с этим же сообщением об ошибке при попытке настроить meanio, из которых git является предварительным условием (моя конкретная ошибка: предварительное условие не найдено: git).
Исправление, которое я понял, влечет за собой копирование libiconv2.dll из

C:\Program Files (x86)\Git\bin

к

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

Затем мне пришлось внести некоторые корректировки в переменные среды Windows для Windows (щелкните правой кнопкой мыши по компьютеру, перейдите к свойствам, нажмите "Дополнительные системные настройки" на левой вертикальной панели, выберите переменные среды) Перейдя в переменные среды, загляните в поле Системные переменные. Найдите

PATH

Переменная и добавьте три новые ссылки:

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

Таким образом, все необходимые файлы git доступны по системному пути.

Надеюсь, это поможет!