Windows için Git - libiconv2.dll eksik olduğundan Program başlatılamıyor


93

Windows 7'de (64bit) bir git Bash'den belirli komutları (örneğin git push gibi) çalıştırmayı denediğimde şu hatayı alıyorum:

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

Bunun için kapsamlı bir çözüm aradım.
Bulabildiğim en fazla, google kod sitesinde ( Sayı 419 ) bir sorun dizisi ve burada burada birkaç blog daha var. Söyleyebileceğim kadarıyla, yazılarda sunulan önerilerin hiçbiri aslında sorunumu çözmeyecek.

Yeniden yüklemeyi denedim. Ben ekleyerek denedim $GIT/binetmek PATH.
Dll'nin $GIT/bindizinde olduğunu doğrulayabilirim ... ama yine de uzaktan kumandaya basamıyorum.

Başka bir Windows 7 kutusunda çalışan bir msysgit yüklemem var ve her iki durumda da aynı şekilde yükledim ... bu yüzden oldukça kafam karıştı.

Bu konudaki herhangi bir yardım çok takdir edilecektir.

Teşekkürler,


1
DLL dosyasının $ GIT / bin yerine $ GIT / lib biçiminde olması gerekmez mi? En azından Linux / UNIX üzerinde çalışma şekli bu, kütüphaneler libdizine giriyor. Msysgit'in aynı düzen şemasını kullanıp kullanmadığını bilmiyorum ama kontrol etmek hızlı olur.
David Z

Bu soru Git geliştirmesine bir hata olarak gönderilmelidir. Ama hayatım boyunca Git sitesinde "hata gönder" bağlantısı bulamıyorum ...
Andriy Drozdyuk

1
ilk cevap işe yarıyor, çözüldü olarak işaretlemelisiniz!
erikbwork

@DavidZ - Sorunumu çözdün. Cevabınız burada kabul edilen cevap olmalıdır.
Mekey Salaria

@Groundshaker hayır, her şeyden önce bir yorum gönderdim , bir cevap değil; ve orijinal posterin problemini çözmedi, bu yüzden bir cevap olsa bile kabul edilmemelidir. Her neyse, görünen o ki, mevcut yanıtların birçoğu bu düzeltmeyi zaten kapsıyor ( açıkça libexecbunun yerine olmalı lib), bu yüzden onları çoğaltan bir şey göndermeyeceğim. (Ama
David Z

Yanıtlar:


104

Bu konu başlığında çalışın: http://groups.google.com/forum/#!topic/msysgit/twrVn_EbNI4

  • cd git kurulum dizininize
  • copy mingw\bin\libiconv-2.dll libexec\git-core
    (veya copy bin\libiconv-2.dll libexec\git-corekurulumunuzda mingwklasör yoksa )

Bağlantılı ileti dizisinde Drew yardım ister, bu nedenle sorunu düzeltmeye yardımcı olabileceğinizi düşünüyorsanız, bu Google Grupları ileti dizisinde yanıt vermek isteyebilirsiniz.

Şu derlemelerde hata oluşuyor:

  • msysgit-fullinstall-1.7.4 VEYA 1.7.6 (ve 1.7.7)
  • msysgit-netinstall-1.7.4 VEYA 1.7.6 (ve 1.7.7)
  • Git Windows 1.7.6 için (ancak 1.7.4 değil )

5
Sorunumun çözümü buydu. Bu çözümün özellikle hatalar için işe yaradığını submodule update, ancak diğer örnekleri de düzeltebileceğini belirtmekte fayda var .
gapple

9
Git-1.7.8 ile dosyaları diğer yönde kopyalamam gerekiyordu; libiconv2.dll içinde var libexec/git-core, ancak kopyalanması bin(veya bağlanması :) gerekiyor mklink /H libexec\git-core\libiconv2.dll bin\libiconv2.dll.
gapple

Bu geçici çözüm, benim için Windows 2003 x64 üzerinde msysGit 1.7.7.1'i düzeltti. Koşmaya çalıştığımda başarısız oluyordu git submodule initve ne yazık ki, başlangıçta görebildiğim tek belirti süresiz olarak asılacak bir Jenkins işiydi. ( git submodule initGit Bash penceresinden çalıştırmak bana gerçek hatayı gösterdi.) Teşekkürler!
Paul Karlin

4
@ grapple'ın düzeltmesi benim için en son sürüm 1.7.10-preview20120409 ile çalıştı libiconv-2.dll.
Soliah

1
TLDR: Atlassian Sourcetree: Açıklandığı gibi libiconv2.dlliçine kopyalayın libexec/git-core. Rename libiconv2.dlliçin libiconv-2.dll. Atlassian Sourcetree'nin en son sürümünü kullanmaya çalışırken aynı hatayı yaşadım. Sourcetree, Harici Git kullanacak şekilde ayarlandı (gömülü yerine). Görünüşe göre libiconv2.dllve libiconv-2.dllaynı dosya, ancak SourceTree adlı dosyayı arar libiconv-2.dll, değil libiconv2.dll. Dolayısıyla, kaynak ağacını kullanıyorsanız, git-core'a taşıdıktan sonra libiconv2'yi yeniden adlandırmanız gerekir.
Brandon S.

42
  • copy / Program Files / Git / bin / libiconv-2.dll
  • / Program Dosyaları / Git / libexec / git-core /

1
Sayesinde bu git versiyon 1.7.7.1.msysgit.0 çalışan benim Win7 makinede benim için sabit
jesal

1
Sadece not etmek istedim - hata mesajım libiconv2.dll belirtildi VE hem libiconv2.dll hem de libiconv-2.dll / bin içinde vardı.
Roger_S

1
Bu yardımcı oldu, teşekkürler. Benim gibi, bu klasörlere sahip değilseniz, bunları% USERPROFILE% \ Local Settings \ Application Data \ GitHub'da
arayın

15

Bunu çözdüm ... Burada dikkat edilmesi gereken birkaç nokta var.

1) Sorun, yerel .git / config dosyamdaki yapılandırılmış kökenimde bir yazım hatasıydı ... Yani ben bir aptalım.

2) Git Bash bu durumda sorunsuz bir şekilde başarısız olmaz ve sonra .git / config dosyasında belirtilen adın yapılandırılmış bir kaynağı olmadığını bildirmek yerine, bu çok yanıltıcı hatayı bir uyarı olarak atar.

Bunu çözebilmemin tek yolu $ GitPath / cmd dizinini yoluma eklemek ve komut satırından git komutunu çalıştırmaktı. Orada, uzak deponun henüz mevcut olmadığını belirten ayrıntılı bir hata mesajı alabildim. Sonra güvenilir vi editörünü açtım ve aslında bir yazım hatası olduğunu gördüm.

Buradaki ders. Msysgit ile tuhaf bir .dll hatası alıyorsanız, bu büyük olasılıkla bazı sistem anormallikleri veya yükleme sorunlarından ziyade yanlış yapılandırmadan kaynaklanıyor olabilir.

Bu konuda yardım etmeye çalışan herkese teşekkürler!


1
+1. Hata durumunda, her zaman minimum yerel CMD oturumuna başvurun. Genelde öğreticidir.
VonC

Teşekkürler, bu sorunumu çözdü, Windows yolunda msysGit \ cmd için msysGit \ bin değiştirdim.
Renaud

copy C:\msysgit\mingw\bin\libiconv-2.dll C:\msysgit\bin"MsysGit-netinstall-1.9.4-preview20140611" kullanarak yükledim
Jeflopo

14

Bu hatayı Win 7'de msysGit-fullinstall-1.7.3.1-preview20101002.exe ile gördüm.

Added <msysgit_dir>\mingw\bin to PATH 

düzelt. libiconv2.dll bu dizinde bulundu.


2
Bu benim için işe yaramadı,
DLL'yi

c:\MinGW\binYolu ekledim ve bu onu düzeltti.
JellicleCat

10

Mac'teki SmartGit'te bu sorunu yaşadım. Tercihler -> Komutlar -> Yürütülebilir'de değiştirilerek düzeltildi

Git Yürütülebilir:

itibaren

/usr/bin/git

to:

/usr/local/git/bin/git

2
Teşekkürler! Benim durumumda / usr / local / bin / git kullanmak zorunda kaldım.
ezequielc

3

Klasörleri aynı yerde bulundurmadığım için sqzaman'ın cevabının varyasyonu:

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

Libiconv-2.dll'yi kopyalayarak başladığımı unutmayın, ancak daha sonra libcurl.dll hakkında şikayet etti, bu yüzden devam edip * .dll'yi kopyaladım


1
Bazı deneme ve yanılmalardan sonra libcrypto.dll, libcurl.dll, libiconv-2.dll ve libssl.dll dosyasını git-core dizinine kopyalamanın ve bir depo için çalıştığını (minimum çözüm) buldum. Diğerlerini de başkaları için kopyalarsam şaşırmam.
alle_meije

3

SmartGit hata sonucunda bu stackoverflow sayfasına atıfta bulunduğundan, bu bilginin buradaki biri için yararlı olabileceğini düşünüyorum ....

Bazen git kurulumunda sorun olmamasına rağmen. Git bash'ı kullansanız ve yazarak sürüm bilgilerini alsanız bile

git -- version 

SmartGit depo eklemez ve git obsolote döndürür veya sürüm bilgisi alınamaz (veya bu mesaja benzer) ...

Öyleyse, önce güvenlik yardımcı programlarınızı ve virüs temizleme uygulamaları ayarlarınızı kontrol etseniz iyi olur. Benim durumumda comodo güvenlik duvarını devre dışı bırakmak smartgit'in git kurulumunu ve sürüm bilgilerini sağlıklı görebilmesini sağlar.


2

Bunu düzeltmenin en hızlı yolu, * .dll dosyasını diğer bilgisayarda bulmak ve kopyalamaktır =)


2

SmartGIT'i Windows'a yüklemeyi denedim ve aynı sorunla karşılaştım. Git.exe'yi işaret ederek çalışmadığını anladım, bunun yerine C: \ msysgit \ cmd \ git.cmd'ye işaret ettim. Şimdiye kadar gayet iyi çalışıyor. Git deposuna msysgit altında erişebilirim.

Bilginize, Windows için Net yükleyiciyi kullanıyorum.

Bunun doğru yaklaşım olduğunu umuyorum.


1
Windows için GIT kullanıyorum ve benim için git.exe'yi işaret ederek çalıştı.
Mandeep Janjua

2

Cevabım msysgit için aynı hatayı çözer, ancak saf git konusunda yardımcı olabilir.

Windows 7'de ekledim <msysgit_dir>\mingw\biniçin PATH so_mv yukarıda önerilen gibi (Sistem Değişkenleri GUI aracılığıyla), ama mecburdum bundan sonra OS logout ve giriş aksi halde PATHdeğer güncellenen almazsınız.


2

Bu sorunu çözmek için aslında tüm DLL'leri konumuna kopyalamak zorunda kaldım (var mingw/bin/olanların bin/üzerine bir kez yazmam). Uzak HTTP depolarını kullanıyorum ve şikayet etmeye devam ediyorum.


1

Windows 7'de \ msysgit \ bin \ git.exe çalıştırırken aynı hatayı aldım. \ Msysgit \ mingw \ bin \ libiconv-2.dll dosyasını Win 7 kurulum dizininin köküne kopyalayarak düzelttim.


1

Windows için Git'i, ardından .dll'yi kopyalamak için Git'i yükledim.

Bu benim için işe yaramadı. Sorunu çözmek için yolu eklemem gerekiyordu:

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

için PATHortam değişkeni.

Bu sorunu çözdü ve artık komut isteminden git'e erişebiliyorum.


Git eklentisini Sublime Text 2bu sorunla karşılaştığım yer için kullanıyorum ve eklenti ayarlarına benzer bir yol ekleyerek C:\\Users\\*username*\\AppData\\Local\\GitHub\\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\\bin\\git.exe
çözdüm

1

Şahsen ben bunu getopt.exe'den aldığım hatayı okuyarak çözdüm, bu bana "libiconv2.dll" eksik olduğunu söyledi .. x86) \ Git \ bin. Bir kopya yapmak ve libiconv2.dll olarak adlandırmak benim için hile yaptı ...

Bazı çikolata paketleri kullandım ... belki de gerçek dosya geliştirme ömrü boyunca yeniden adlandırıldı ... ve paketlerdeki bağımlılıklar ...

Umarım dışarıdaki birine yardımcı olur :)


1

Windows'ta SourceTree başlatılırken "eksik libiconv-2.dll" hatası oluşursa, aşağıdakiler benim için çalıştı (Win 8.1):

git

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

kopya

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

-e

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

1

SourceTree için olası bir çözüm:

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

Benim için çalıştı. Bazı nedenlerden dolayı, SourceTree, soruna neden olan güncellemeden sonra gömülü git'e geçti.
starteleport

0

Herhangi bir DLL ile herhangi bir sorun olmadan Windows7'de msysgit kullanıyorum.

Bin dizininde libiconv2.dll var: C:\Path\To\Git\1.7.1\bin

Sorun 419 , sadece Git "Windows için Git derlemeye geliştirme ortamı" yüklü birisi hakkında oldu. İkisi arasındaki fark için
bu SO cevabına bakın .

Peki hangisini yüklediniz?

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

Yükledim .. Git-1.7.0.2-preview20100309.exe Sayı 419'un bir geliştirici yüklemesi olduğunu kesinlikle anlıyorum, ancak bu konuda bulabildiğim tek arama sonuçlarından biri, bu yüzden biraz fikir vermesini umdum. Benim libconv2.dll dosyam sadece varsayılan kurulum konumu olan C: \ Path \ To \ Git \ bin konumunda.
user413945

@thankyoud: Anlıyorum (ve sorunuz iyi belgelenmiş görünüyor). Diğerlerinin farkı görmesi için cevabımda bunu daha da netleştirmeyi düşündüm. Git'in çalıştırmakta zorlandığını gördüğüm diğer tek sorun ACL ile ilgili (bir tür dll kayıt sorunu veya %TEMP%yazma sorunu gibi). Bu cepheyle ilgili bir ipucu var mı?
VonC

Biliyorum,% temp% dizini mevcut hesabıma tam erişime sahip görünüyor. Git, bash yaptığınızda yönetici dışında bir hesap altında çalışıyor mu? Ayrıca, daha önce de bahsettiğim gibi, yaptığım başka bir Windows 7 kurulumunda bu hiç olmadı ... bu yüzden bu kadar şaşırdım. Yani geçmişte dosya izinleriyle uğraşmak zorunda kalmadım.
user413945

@thankyoud: Garip. Peki ya "taşınabilir" kurulum? (sadece fermuarını açın ve cmddizini yolunuza ekleyin ): aynı hatalı davranışı sergileyecek mi?
VonC

@thankyoud: PATHBu belirli Windows7'de herhangi bir çakışma var mı? Aynı hatayı 'minimum PATH' ile görüyor musunuz ? Ie"C:\Path\To\Got\cmd;C:\Windows\system32;C:\Windows;C:\Windows\Syste m32\Wbem"
VonC

0

Başlangıçta bu sorunu burada belirtildiği gibi dll'yi kopyalayarak çözmeye çalıştım ancak kısa süre sonra başka sorunlarla karşılaştım. Benim için gerçek çözüm, msys'in msys ikili dosyalarına öncelik vermesi için .bashrc dosyamdaki yolu belirlemekti.

Msys kabuğunu ve aşağıdaki satırı ~ / .bashrc içinde açın:

dışa aktar PATH = / usr / local / bin: / mingw / bin: / bin: $ PATH


0

Bu sorunu yaşadım, bu sorunu düzeltmek için kaplumbağa ve msysgit'i kaldırdım, sonra "Git-1.8.1.2-preview20130201" i yeniden yükledim.

bunu yaparak, bu sorunumu düzeltti ve poshgit kullanamıyorum.


0

Benim durumumda git'i yüklemek için chocolatey (chocolatey.org) kullandım.

Çalışması için kopyalamam libconv-2.dllgerekiyordu C:\ProgramData\chocolatey\bin. C:\Program Files (x86)\Git\libexec\git-coreİlk önce yaptığım gibi , dosyayı kopyalamanın da gerekli olup olmadığından emin değilim .


0

GitHub Masaüstü Sürümünü kullanıyordum ve aynı sorunu yaşıyordum, Varsayılan kabuğu Ayar -> Seçenekler -> Varsayılan kabuk ile değiştirdim ve Git bash'ı kontrol ettim. "Git kabuğunu aç" ı başlattım ve "git pull" komutunu çalıştırdım, sorun çözüldü. Benim durumumda işe yaradı.


0

Tüm .dll'leri şuradan kopyalayın:

C: \ Kullanıcılar \ KULLANICIADINIZ \ AppData \ Local \ GitHub \ PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0 \ mingw32 \ bin

to:

C: \ Kullanıcılar \ KULLANICIADINIZ \ AppData \ Local \ GitHub \ PortableGit_25d850739bc178b2eb13c3e2a9faafea2f9143c0 \ mingw32 \ libexec \ git-core


0

Ben de aynı sorunu yaşadım, Windows 10 kullanıyorum ve bu sorunu çözmek çok kolay.

Dll dosyasını şuradan indirin:

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

çıkartın veya doğrudan mingw klasörüne yapıştırın, varsayılan seçenekleri kullanarak yüklediyseniz, genellikle C sürücüsündedir. Umarım yardımcı olur.


0

Aşağıdaki komutu deneyin:

sudo rm -rf /Library/Developer/CommandLineTools 

ve geliştirici araçlarını yükleyin


-1

Meanio'yu yapılandırmaya çalışırken aynı hata mesajıyla uğraşmak zorunda kaldım, bunun önkoşulu git (benim özel hatam: önkoşul bulunamadı: git).
Anladığım düzeltme libiconv2.dll dosyasını kopyalamayı gerektirdi

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

-e

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

Daha sonra Windows sistemi Ortam Değişkenlerinde bazı ayarlamalar yapmam gerekiyordu (Bilgisayarı sağ tıklayın, özelliklere gidin, sol dikey çubuktaki "Gelişmiş Sistem Ayarları" na tıklayın, ortam değişkenlerini seçin) Ortam Değişkenleri'ne girdikten sonra, Sistem Değişkenleri kutusuna bakın. Bul

PATH

Değişken ve üç yeni referans ekleyin:

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

Bu şekilde, gerekli tüm git dosyalarına sistem yolu üzerinden erişilebilir.

Bu yardımcı olur umarım!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.