Wie kann ich den Fehler "Host konnte nicht aufgelöst werden: (Null) ..." bei der Installation / Verwendung von Homebrew umgehen?

1

Ich versuche, Homebrew unter OS X 10.8.4 zu installieren und Folgendes zu erhalten:

$ ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
==> This script will install:
/usr/local/bin/brew
/usr/local/Library/...
/usr/local/share/man/man1/brew.1

Press ENTER to continue or any other key to abort
==> Downloading and Installing Homebrew...
error: Could not resolve host: (nil); nodename nor servname provided, or not known while accessing https://github.com/mxcl/homebrew/info/refs?service=git-upload-pack
fatal: HTTP request failed
Failed during: git fetch origin master:refs/remotes/origin/master -n

Was verursacht dieses Problem? Wie arbeite ich daran?

Update (mit Antworten auf die Fragen in sameetandpotatoes 's Kommentar) :

$ curl -Lsf http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local
bin/: Can't update time for bin
share/: Can't update time for share
share/man/: Can't update time for share/man
share/man/man1/: Can't update time for share/man/man1
tar: Error exit delayed from previous errors.

$ ruby --version
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.11.00)

Ich habe Xcode nicht installiert. Ich habe jedoch "Befehlszeilentools (OS X Mountain Lion) für Xcode - April 2013" von https://developer.apple.com/downloads/index.action installiert .

Update Nr. 2:

$ git --version
git version 1.7.12.4 (Apple Git-37)
$ which git
/usr/bin/git

Ich habe also anscheinend nicht das gleiche Problem wie in dieser Antwort ( siehe den zweiten Kommentar von sameetandpotatoes weiter unten).

Update Nr. 3:

Ich habe festgestellt, dass die obige Installation Brew (zumindest teilweise) installiert haben muss, wie es in meinem / usr / local / bin / war. Running brewbrachte die Hilfe zum Vorschein. Aber ich habe folgendes bekommen:

$ brew update
Initialized empty Git repository in /usr/local/bin/homebrew/.git/
error: Could not resolve host: (nil); nodename nor servname provided, or not known while accessing https://github.com/mxcl/homebrew.git/info/refs?service=git-upload-pack
fatal: HTTP request failed
Error: Failure while executing: git fetch origin

Ich habe dann versucht, die Installation mithilfe der Anweisungen in dieser Antwort erneut durchzuführen :

$ pwd
/usr/local/bin
$ mkdir homebrew
$ curl -L https://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C homebrew
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   128  100   128    0     0    191      0 --:--:-- --:--:-- --:--:--   352
100  938k  100  938k    0     0   256k      0  0:00:03  0:00:03 --:--:--  334k
$ rm brew
$ ln -s homebrew/bin/brew /usr/local/bin/brew

Aber ich bekomme fast den gleichen Fehler, wenn ich versuche brew update:

$ brew update
Initialized empty Git repository in /usr/local/bin/homebrew/.git/
error: Could not resolve host: (nil); nodename nor servname provided, or not known while accessing https://github.com/mxcl/homebrew.git/info/refs?service=git-upload-pack
fatal: HTTP request failed
Error: Failure while executing: git fetch origin

Könnte dies ein Problem mit meiner Installation oder Konfiguration von Git sein? (Ich benutze es ohne Probleme mit anderen Remote-Repositories.) Oder könnte es ein (vorübergehendes?) Problem mit github.com sein?

Update Nr. 4: (als Antwort auf die Antwort von IOXenus )

Ich wollte nicht, dass Homebrew außerhalb des Standards / usr / local / installiert bleibt, also habe ich alle Spuren von Homebrew (einschließlich /usr/local/.git/) gelöscht.

Dann habe ich folgendes ausgeführt:

$ git init -q
$ git remote set-url origin git://github.com/mxcl/homebrew
fatal: No such remote 'origin'
$ git remote add origin git://github.com/mxcl/homebrew
$ git fetch origin master:refs/remotes/origin/master -n
remote: Counting objects: 124335, done.
remote: Compressing objects: 100% (61076/61076), done.
remote: Total 124335 (delta 87425), reused 96557 (delta 62265)
Receiving objects: 100% (124335/124335), 19.56 MiB | 698 KiB/s, done.
Resolving deltas: 100% (87425/87425), done.
From git://github.com/mxcl/homebrew
 * [new branch]      master     -> origin/master
$ git reset --hard origin/master
HEAD is now at 2a3fc63 tractorgen 0.31.7

Und ich konnte erfolgreich laufen brew doctorund brew update.

Daryl Spitzer
quelle
Gibt curl -Lsf http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/localden gleichen Fehler aus? Welche Version von Ruby hast du? Welche Version von Xcode haben Sie und haben Sie Command Line Tools von Xcode installiert? Können Sie überprüfen, ob Sie mit gcc installiert haben gcc --version?
sameetandpotatoes
1
Verwandte Links: stackoverflow.com/questions/12355771/… github.com/mxcl/homebrew/issues/16580 Diese Probleme weisen darauf hin, dass gitsie möglicherweise veraltet sind.
Sameetandpotatoes
Siehe stackoverflow.com/questions/18290822/… für meine Frage, was dieses Problem verursacht (das ich jetzt erfolgreich umgangen habe).
Daryl Spitzer

Antworten:

2

Scheint, dass Sie Probleme haben, eine Verbindung zu Github über https herzustellen.

Obwohl ich nicht sicher bin, woran es liegen könnte und wie es behoben werden kann, können Sie git immer noch mit einem anderen Protokoll verwenden.

Hier ist die Befehle Homebrew installieren in /usr/local/von Grund auf mit git://statt https://:

cd /usr/local/
git init -q
git remote add origin git://github.com/mxcl/homebrew
git fetch origin master:refs/remotes/origin/master -n
git reset --hard origin/master

Das sollte funktionieren. Bitte beachten Sie, dass Sie, wenn Sie ein anderes Verzeichnis für Homebrew verwenden, dieses Verzeichnis wahrscheinlich ./binan Ihre Umgebungsvariable PATH anhängen müssen, damit Sie es bequem verwenden können.

000
quelle
Wenn du deine Antwort so bearbeitest, dass es funktioniert, wenn brew noch nicht installiert ist (benutze git remote addstatt git remote set-url), akzeptiere ich deine Antwort und du bekommst dein Kopfgeld.
Daryl Spitzer
@DarylSpitzer sicher, fertig.
000
1

Der Fehler mit git clone over http hängt mit Ihrer git-Konfiguration zusammen. Ich hatte das gleiche Problem und nachdem ich die git-Konfiguration [http.proxy config] entfernt hatte, war ich frei zu Hause ...

Die Konfiguration wurde übrigens von meinem Unternehmensnetzwerk aus verbreitet, sodass ich dieses Problem fand, als ich zu Hause abhackte.

ich benutzte

git config -l | grep proxy

dann

git config --global --unset-all http.proxy

Und nach der Installation brauchen Sie nur noch zu tun

git config --global http.proxy $http_proxy

Das ist es, bitte denken Sie daran, dass Sie dies jedes Mal tun müssen, wenn Sie diesen Proxy nicht verwenden ... Ich hätte wahrscheinlich eine setproxy / noproxy-Funktion im Profil dafür ...

Haggai Philip Zagury
quelle
Dies funktioniert auch für Homebrew, und Sie müssen dies tungit config --unset-all http.proxy
meshfields