Git for Windows-libiconv2.dllがないためプログラムを開始できません


93

Windows 7(64ビット)でgit Bashから特定のコマンド(git pushなど)を実行しようとすると、次のエラーが発生します。

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

私はこれに対する解決策を徹底的に探しました。
私が見つけることができる最も多くは、Googleコードサイトの課題スレッド(課題419)と、あちこちにある他のいくつかのブログです。私の知る限り、投稿で提案された提案のどれも実際には私の問題を解決しません。

再インストールしてみました。に追加$GIT/binしてみましたPATH
dllが$GIT/binディレクトリにあることを確認できますが、リモートにプッシュできません。

別のWindows 7ボックスにmsysgitのインストールが機能していて、両方の状況で同じ方法でインストールしたので、言うまでもなく混乱しています。

これに関するどんな助けでも最もありがたいです。

おかげで、


1
DLLは$ GIT / binではなく$ GIT / libにあるべきではありませんか?少なくとも、それはLinux / UNIXで動作する方法であり、ライブラリはlibディレクトリに配置されます。msysgitが同じレイアウトスキームを使用しているかどうかはわかりませんが、すぐに確認できます。
David Z

この質問は、Git開発のバグとして送信する必要があります。しかし、私の人生では、Gitサイトに「バグの送信」リンクはありません...
Andriy Drozdyuk

1
最初の答えは機能します。解決済みとしてマークする必要があります!
erikbwork 2012

@DavidZ-あなたは私の問題を解決しました。あなたの答えはここで受け入れられた答えでなければなりません。
Mekey Salaria、2014

@Groundshakerいいえ、まず、私は回答ではなくコメントを投稿しました。そしてそれは元のポスターの問題を解決しなかったので、たとえそれが答えであったとしても、それは受け入れられるべきではありません。とにかく、既存の回答のいくつかはすでにこの修正をカバーしているようです(明らかにのlibexec代わりにすべきlibです)ので、それらを複製するものを投稿するつもりはありません。(しかし、私のコメントが役に立ったとうれしいです。)
デビッドZ

回答:


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 不可)

5
これが私の問題の解決策でした。このソリューションは、特に中のエラーsubmodule updateに対して機能しますが、他のインスタンスも修正する可能性があることに注意してください。
2011

9
git-1.7.8では、ファイルを別の方向にコピーする必要がありました。libiconv2.dllはに存在しますがlibexec/git-core、コピーbin(またはリンク:)する必要がありますmklink /H libexec\git-core\libiconv2.dll bin\libiconv2.dll
11

この回避策により、Windows 2003 x64上のmsysGit 1.7.7.1が修正されました。私が走ろうとするgit submodule initと失敗し、悲しいことに、最初に目にした唯一の症状は、無期限にハングアップするJenkinsジョブでした。(git submodule initGit Bashウィンドウから実行すると、実際のエラーが表示されました。)ありがとうございます。
Paul Karlin

4
@grappleの修正は、最新のビルド1.7.10-preview20120409でうまくいきましたlibiconv-2.dll
ソリア

1
TLDR:Atlassian Sourcetree:説明どおりにコピーlibiconv2.dlllibexec/git-coreます。名前libiconv2.dllをに変更しlibiconv-2.dllます。Atlassian Sourcetreeの最新バージョンを使用しようとすると、同じエラーが発生しました。Sourcetreeは(組み込みではなく)外部Gitを使用するように設定されていました。どうやらlibiconv2.dlllibiconv-2.dll同じファイルですが、SourceTreeは、名前のファイルを探しlibiconv-2.dll、ありませんlibiconv2.dll。したがって、ソースツリーを使用している場合は、libiconv2をgit-coreに移動した後に名前を変更する必要があります。
Brandon S.

42
  • / Program Files / Git / bin / libiconv-2.dllをコピーします
  • / Program Files / Git / libexec / git-core /

1
おかげで、これはgitバージョン1.7.7.1.msysgit.0を実行している私のWin7マシンで私のためにそれを修正しました
jesal

1
注意したいのは、エラーメッセージにlibiconv2.dllが指定されていて、/ binにlibiconv2.dllとlibiconv-2.dllの両方があったということです。
Roger_S

1
これは役に立ちました。ありがとう。私のように、これらのフォルダーがない場合は、%USERPROFILE%\ Local Settings \ Application Data \ GitHub(私の回答を参照)でフォルダーを探します
wytten

15

私はこれを解決しました...ここで注意すべきことがいくつかあります。

1)問題は、ローカルの.git / configファイルの構成されたオリジンのタイプミスでした...それで私はばかです。

2)Git Bashはこの状況で正常に失敗せず、.git / configファイルで指定された名前の構成されたオリジンがないことを報告するのではなく、この非常に誤解を招くエラーをアラートとしてスローします。

これを理解できる唯一の方法は、パスに$ GitPath / cmdディレクトリを追加し、コマンドラインからgitを実行することでした。そこで、リモートリポジトリがまだ存在していないことを示す詳細なエラーメッセージを受け取ることができました。次に、信頼できるviエディターを呼び出して、実際にはタイプミスがあったことを確認しました。

ここでのレッスン。msysgitで奇妙な.dllエラーが発生する場合は、システムの異常やインストールの問題ではなく、構成の誤りが原因である可能性があります。

これを手伝ってくれた皆さんに感謝します!


1
+1。エラーが発生した場合は、常に最小限のネイティブCMDセッションを使用してください。それは一般的に有益です。
VonC、2010

おかげで、これで問題が解決しました。WindowsパスのmsysGit \ cmdのmsysGit \ binを変更します。
ルノー

copy C:\msysgit\mingw\bin\libiconv-2.dll C:\msysgit\bin私は"msysGit-ネットインストール-1.9.4-preview20140611"を使用してインストール
Jeflopo

14

このエラーは、Win 7のmsysGit-fullinstall-1.7.3.1-preview20101002.exeで見られました。

Added <msysgit_dir>\mingw\bin to PATH 

修理する。libiconv2.dllがそのディレクトリに見つかりました。


2
これは私にとっては機能せず、DLLを%WINDIR%(C:\ windows)にコピーする必要がありました
jamiebarrow

c:\MinGW\binパスに追加し、それを修正しました。
JellicleCat 2013年

10

MacのSmartGitでこの問題が発生しました。[設定]-> [コマンド]-> [実行可能ファイル]で変更して修正しました

Git実行可能ファイル:

から

/usr/bin/git

に:

/usr/local/git/bin/git

2
ありがとう!私の場合、/ usr / local / bin / gitを使用する必要がありました。
ezequielc 2017年

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をコピーしました。


1
試行錯誤の末、libcrypto.dll、libcurl.dll、libiconv-2.dll、libssl.dllをgit-coreディレクトリにコピーすると、1つのリポジトリ(最小のソリューション)で機能することがわかりました。私が他のすべてのために他のすべてもコピーしてしまうのであれば、驚かないでしょう。
alle_meije 2014年

3

SmartGitがエラーの結果でこのスタックオーバーフローのページを参照しているので、この知識はここの誰かに役立つかもしれないと思います...

時々gitのインストールに問題はありませんが。git bashを使用して、次のように入力してバージョン情報を取得できる場合でも

git -- version 

SmartGitはリポジトリを追加せず、git is obsoloteまたはバージョン情報を取得できない(またはこのメッセージと同様)を返します...

その場合は、最初にセキュリティユーティリティとウイルス駆除アプリケーションの設定を確認することをお勧めします。私の状況では、comodoファイアウォールを無効にすると、smartgitが正常なgitのインストールとバージョン情報を表示できるようになります。



2

WindowsにSmartGITをインストールしようとしたところ、同じ問題に直面しました。私はそれがgit.exeを指すのではなく、C:\ msysgit \ cmd \ git.cmdを指すことで機能することを理解しています。これまでのところ、うまく動作します。msysgitでgitリポジトリにアクセスできます。

ちなみに、私はWindows用のネットインストーラーを使用しています。

これが正しいアプローチであることを願っています。


1
私はWindowsでGITを使用していますが、git.exeをポイントすることで機能しました。
Mandeep Janjua 2012

2

私の答えはmsysgitの同じエラーを解決しますが、純粋なgitで役立つ場合があります。

Windows 7では、(システム変数GUIを介して)so_mvが上記の推奨に従って追加<msysgit_dir>\mingw\binPATH ましたがその後ログアウトしてOSにログインする必要PATHがありました。そうしないと、値が更新されません。


2

この問題を解決するには、実際にすべてのDLLをからmingw/bin/にコピーbin/する必要がありました(既存のDLLを上書きすることはありません)。私はリモートHTTPSリポジトリを使用していますが、文句を言い続けています。


1

\ msysgit \ bin \ git.exeを実行すると、Windows 7でも同じエラーが発生しました。\ msysgit \ mingw \ bin \ libiconv-2.dllをWin 7インストールディレクトリのルートにコピーして修正しました。


1

Windows用のGitをインストールしてから、.dllをコピーするためにGitをインストールしました

これは私にはうまくいきませんでした。この問題を解決するには、パスを追加する必要がありました。

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

PATH環境変数。

これで問題が解決し、コマンドプロンプトからgitにアクセスできるようになりました。


私はのためのGitプラグインを使用していますSublime Text 2、私はこの問題に出くわしたし、プラグインの設定に類似したパスを追加することではなく、次のようにすべてのバックスラッシュはエスケープとそれを解決する場所:C:\\Users\\*username*\\AppData\\Local\\GitHub\\PortableGit_054f2e797ebafd44a30203088cd3d58663c627ef\\bin\\git.exe
Jasdeepカルサ

1

個人的に私はgetopt.exeから得たエラーを読んでそれを解決しました、それはそれが "libiconv2.dll"が欠落していると私に言いました。私はC:\ Program Files( x86)\ Git \ bin。コピーを作成してlibiconv2.dllに名前を付けると、うまくいきました...

私はチョコレートのようなパッケージをいくつか使用しました...おそらく実際のファイルは開発期間中に名前が変更されました...そしてパッケージの依存関係は変更されませんでした...

まあそれが誰かを助けることを願っています:)


1

WindowsでSourceTreeを起動しているときにエラー「missing 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

1

SourceTreeの1つの可能なソリューション:

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

私のために働いた。何らかの理由で、更新後にSourceTreeが組み込みgitに切り替わったため、問題が発生しました。
starteleport 2016

0

私はWindows7でmsysgitを使用していますが、DLLは問題ありません。

binディレクトリにlibiconv2.dllがあります。 C:\Path\To\Git\1.7.1\bin

問題419は、「Windows用のGitをコンパイルする開発環境」だけでなく、Gitリポジトリをインストールし、誰かについてでした。2つの違いについては、
この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」のように)。

インストールしました。.Git-1.7.0.2-preview20100309.exe問題419は開発者向けのインストールであることが確実にわかりましたが、これはこのテーマで検索できる唯一の検索結果の1つなので、洞察が得られることを期待しています。私のlibconv2.dllは、デフォルトのインストール場所であるC:\ Path \ To \ Git \ binにあります。
user413945 2010

@thankyoud:私は理解しています(そしてあなたの質問は十分に文書化されているようです)。他の人が違いを見るために、私の答えでそれをさらに明確にすることを考えました。Gitの実行に問題があった他の唯一の問題は、ACLに関連しています(ある種のdll登録の問題や%TEMP%書き込みの問題など)。その前線に手掛かりはありますか?
VonC、2010

わからない、%temp%ディレクトリには現在のアカウントへのフルアクセスがあるようです。あなたがbashするとき、gitは管理者以外のアカウントで実行されますか?また、前に述べたように、これは私が行った他のWindows 7インストールでは発生していません...そのため、私はとても困惑しています。つまり、過去にファイルのアクセス許可をいじる必要はありませんでした。
user413945 2010

@thankyoud:奇妙です。「ポータブル」インストールについてはどうですか?(解凍して、cmdパスにディレクトリを追加するだけ):同じ問題のある動作を示しますか?
VonC、2010

@thankyoud:PATHこの特定のWindows7 での競合はありますか?同じエラーが「最小PATH」で表示されますか?Ie"C:\Path\To\Got\cmd;C:\Windows\system32;C:\Windows;C:\Windows\Syste m32\Wbem"
VonC、2010

0

私はもともとここで述べたようにdllをコピーしてこの問題を解決しようとしましたが、すぐに他の問題に遭遇しました。私にとっての実際の解決策は、msysの.bashrcファイルにパスを設定して、msysバイナリを優先することでした。

msysシェルを開き、次の行を〜/ .bashrcに開きます。

エクスポートPATH = / usr / local / bin:/ mingw / bin:/ bin:$ PATH


0

私はこの問題に悩まされています。この問題を修正するために、tortoisegitとmsysgitをアンインストールしてから、「Git-1.8.1.2-preview20130201」を再インストールしました。

これを行うことで、これは私の問題を修正し、私はposhgitを使用できません。


0

私の場合、私はChocolatey(chocolatey.org)を使用してgitをインストールしました。

私はそれを機能libconv-2.dllC:\ProgramData\chocolatey\binせるためにコピーする必要がありました。C:\Program Files (x86)\Git\libexec\git-core最初にファイルをコピーしたときのように、ファイルをコピーする必要があるかどうかもわかりません。


0

GitHubデスクトップバージョンを使用していて、同じ問題が発生したため、[設定]-> [オプション]-> [デフォルトシェル]でデフォルトシェルを変更し、Git bashを確認しました。「Open Git shell」を起動して「git pull」コマンドを実行すると問題が解決しました。私の場合はうまくいきました。


0

次の場所からすべての.dllをコピーします。

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

に:

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


0

同じ問題がありました。Windows10を使用していますが、この問題を解決するのは非常に簡単です。

以下からDLLファイルをダウンロードします。

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

それを抽出するか、直接mingwフォルダーに貼り付けます。デフォルトのオプションを使用してインストールした場合、通常はCドライブにあります。それが役に立てば幸い。



-1

meioを構成しようとしているときに、この同じエラーメッセージに対処する必要がありました。gitが前提条件です(私の特定のエラーは:前提条件が見つかりませんでした:git)。
私が理解した修正は、libiconv2.dllを

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

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

次に、Windowsシステムの環境変数にいくつかの調整を加える必要がありました(コンピューターを右クリックして、プロパティに移動し、左の垂直バーの[システムの詳細設定]をクリックして、環境変数を選択します)。を見つける

PATH

変数を追加し、3つの新しい参照を追加します。

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

このようにして、必要なすべてのgitファイルにシステムパスを介してアクセスできます。

お役に立てれば!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.