web-dev-qa-db-ja.com

OS X YosemiteでGitクローンがsslRead()エラーで失敗する

現在、OS X Yosemite 10.10.3を使用していますが、Windowsで正常に動作する既存のリポジトリをgit cloneしようとしています。幸運なしにcurl/opensslを使用してhomebrewでgitをインストールするコンボを試しました。 git cloneを実行すると、次のSSL読み取りエラーが発生します。

GIT_CURL_VERBOSE=1 git clone http://myURL/gitlab/project/project.git

> remote: Counting objects: 1641, done. remote: Compressing objects:
> 100% (1588/1588), done.
> * SSLRead() return error -98061641), 136.73 MiB | 1.71 MiB/s    
> * Closing connection 2 remote: Total 1641 (delta 910), reused 0 (delta 0) error: RPC failed; result=56, HTTP code = 200 Receiving objects:
> 100% (1641/1641), 137.48 MiB | 1.64 MiB/s, done. Resolving deltas:
> 100% (910/910), done.

私はHttpsとHttpの両方を使用してみましたが、うまくいきませんでした。他の誰かがこれに似たものを見つけましたか?

以下は、git、curl、およびopensslバージョンの出力です(それが役立つ場合)。

curl --version
curl 7.37.1 (x86_64-Apple-darwin14.0) libcurl/7.37.1 SecureTransport zlib/1.2.5
Protocols: dict file ftp ftps Gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz 

git --version
git version 2.4.1

openssl version
OpenSSL 0.9.8zd 8 Jan 2015

あらゆる方向に事前に感謝します!

17
pinkdevelops

Javabrettのリンクから答えが得られました。それは、Gitが最終的に使用する誤ったSSL依存関係を使用してYosemiteを中心に展開しています。

これらのフラグを使用してhomebrew経由でGitをインストールすると動作します:

brew install git --with-brewed-curl --with-brewed-openssl

または:

brew reinstall git --with-brewed-curl --with-brewed-openssl
23
pinkdevelops

上記の回答の前にbrewed opensslがなかった場合brew reinstall git --with-brewed-curl --with-brewed-opensslは機能しません

説明されているワークフロー here の方が優れています:

$ brew remove git
$ brew remove curl

$ brew install openssl
$ brew install --with-openssl curl
$ brew install --with-brewed-curl --with-brewed-openssl git
7
lmen6e

Virtulマシンを使用している場合は、接続の問題です。この問題を解決するには、VM設定に移動して物理接続をブリッジする必要があります。

VMware Player->リムーバブルデバイス->ネットワークアダプター->設定

ネットワーク接続が見つかり、両方を確認します

ブリッジ:物理ネットワークに直接接続

物理ネットワーク接続状態を複製します(ラップトップを使用している場合)。

詳細については、次のリンクを確認してください。

https://pubs.vmware.com/workstation-9/index.jsp?topic=%2Fcom.vmware.ws.using.doc%2FGUID-826323AD-D014-475D-8909-DFA73B5A3A57.html =

2
Loyal Fine

「brew install git --with-brewed-curl --with-brewed-openssl」でgitをインストールしただけでは役に立ちませんでした。

プロトコルhttps://またはssh://で2つのリモートURLを設定することで解決しました。

  1. チームリポジトリのアップストリーム
  2. フォークリポジトリのオリジン

これで、Originへの変更を問題なくプッシュできます。

それが役に立てば幸い!

2
nagoor kani