Ich bin auf einem Mac und versuche, das Google Cloud SDK (einschließlich des Befehlszeilen-Dienstprogramms gcloud) mithilfe dieses Befehls im Terminal zu installieren
curl https://sdk.cloud.google.com | bash
wie gesehen unter https://cloud.google.com/sdk/
Es war bis zum Ende und fertig, aber selbst nachdem ich meine Shell neu gestartet hatte, sagt der Befehl gcloud
immer noch, dass er nicht gefunden wurde.
Warum funktioniert diese Installation nicht?
Im Folgenden finden Sie meinen vorherigen Fix für dieses Problem, es stellt sich jedoch heraus, dass es nicht dauerhaft ist. Es funktioniert, aber bei jedem Neustart von Terminal müssen Sie dasselbe tun, was nicht praktikabel ist.
Deshalb schlage ich vor, dass Sie das aktuelle Verzeichnis google-cloud-sdk löschen und die Installation einfach wiederholen. Stellen Sie sicher (wie Zachary erwähnt hat), dass Sie die Aufforderung Modify profile to update your $PATH and enable bash completion? (Y/n)
mit Ja (Y) beantworten.
Hier ist meine alte Antwort, aber wiederholen Sie einfach die Installation:
I had the same problem, `gcloud` wasn't working for me.
But then, in the same directory as my `google-cloud-sdk` folder which I had just installed (my `home` directory), I found this file called `test`.
Inside this `test` file I found two commands:
# The next line updates PATH for the Google Cloud SDK.
source '[path-to-my-home]/google-cloud-sdk/path.bash.inc'
# The next line enables bash completion for gcloud.
source '[path-to-my-home]/google-cloud-sdk/completion.bash.inc'
After I ran these two `source` commands in terminal, `gcloud` worked!
Gleiches hier, ich versuche es
source ~/.bashrc
Dann hat es funktioniert
Dieser hat für mich gearbeitet:
source ~/.bash_profile
Unter Mac/Linux müssen Sie den folgenden Eintrag in Ihren ~/.bashrc
eingeben:
export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
Ich hatte dieses Problem heute, und durch das Hinzufügen von Sudo
zum install command
wurde mein Problem bei maxOS Sierra behoben.
Sudo ./google-cloud-sdk/install.sh
Ich weiß, dass diese Frage beantwortet wurde, aber hier sind meine zwei Cent. Nach der Installation von gcloud müssen Sie die Shell neu starten, bevor Sie den Befehl gcloud ausführen können.
Wie Sie dies tun, hängt hauptsächlich von der Datei ab, in der Sie Ihre Shell-Konfiguration behalten. Die meisten Dateien sind .bashrc_profile
, .bashrc
, .zshrc
.
Sie können jetzt mit neu starten
source ~/.bashrc_profile
Sie können die Datei durch die Datei ersetzen, die Sie haben.
Wenn Sie sich nicht um Ihre Datei kümmern, können Sie auf Mac oder Linux die Shell neu starten.
exec -l $Shell
Bei der Installation des SDK habe ich folgende Methode verwendet:
curl https://sdk.cloud.google.com | bash
Wenn Sie diese Methode des Originalautors verwenden, stellen Sie sicher, dass Sie die Sicherheitseinstellungen Ihrer Mac-Einstellungen akzeptiert haben, um Apps zuzulassen, die aus dem App Store heruntergeladen werden und Entwickler identifizieren.
Ich musste meine bash_profile-Datei beziehen. Um dies zu tun,
Jetzt sollte der Befehl gcloud funktionieren
Sie müssen diesen Befehl nur als root ausführen
$ curl https://sdk.cloud.google.com | bash
Starten Sie das Terminal neu und fertig. Jetzt sollten alle Befehle als root ausgeführt werden
Ich verwende zsh und fand diese Gist sehr hilfreich: https://Gist.github.com/dwchiang/10849350
Bearbeiten Sie die Datei ~/.zshrc, um diese beiden Zeilen aufzunehmen:
# The next line updates PATH for the Google Cloud SDK.
source /Users/YOUR_USERNAME/google-cloud-sdk/path.zsh.inc
# The next line enables zsh completion for gcloud.
source /Users/YOUR_USERNAME/google-cloud-sdk/completion.zsh.inc
Dies setzt voraus, dass Sie das Paket in Ihrem Hauptverzeichnis von official docs installiert haben.
Das hat für mich funktioniert:
Nachdem Sie Y
zu Modify profile to update your $PATH and enable bash completion? (Y/n)?
gesagt haben
Die Google-Initiierung fordert Folgendes auf: Enter a path to an rc file to update, or leave blank to use
und der Standardpfad war: [/Users/MY_USERSAME/.bash_profile]:
. Statt enter
zu drücken, schrieb ich: /Users/MY_USERNAME/.bashrc
, um den Pfad zu ändern.
Dadurch würde der von Google vorgeschlagene Standardspeicherort überschrieben.
Dann musste ich nur noch source ~/.bashrc
machen und alles funktioniert jetzt!
Wenn laufen
source ~/.bashrc
führt zu "Keine solche Datei oder Verzeichnis"
Unter Windows:
source <pasteCopiedPathHere>
-> zum Beispiel: source "C:\Users\John\.bashhrc"
Ich habe falsche if-fi
-Anweisungen in meinem ~/.bash_profile
gefunden (keine if-Bedingung im nächsten Block)
source '/Users/yorko/google-cloud-sdk/path.bash.inc'
fi
Ich musste nur "fi"
entfernen und "source ~/.bash_profile"
ausführen, damit es funktioniert.
Um es auf MacOs Sierra zu starten, habe ich nach der Installation von gcloud mein .bash_profile geändert
Ursprüngliche Linien:
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi
# The next line enables Shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then . '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi
aktualisiert auf:
# The next line updates PATH for the Google Cloud SDK.
if [ -f '/Users/alejandro/google-cloud-sdk/path.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/path.bash.inc'; fi
# The next line enables Shell command completion for gcloud.
if [ -f '/Users/alejandro/google-cloud-sdk/completion.bash.inc' ]; then source '/Users/alejandro/google-cloud-sdk/completion.bash.inc'; fi
Starten Sie das Terminal neu und alles funktioniert wie erwartet!
Anweisungen nach der Installation sind nicht klar:
==> Source [/.../google-cloud-sdk/completion.bash.inc] in your profile to enable Shell command completion for gcloud.
==> Source [/.../google-cloud-sdk/path.bash.inc] in your profile to add the Google Cloud SDK command line tools to your $PATH.
Ich musste tatsächlich die folgenden Codezeilen in meinem .bash_profile
hinzufügen, damit gcloud
funktioniert:
source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'
So installieren Sie GCloud und funktioniert immer nach einem Neustart unter Mac OS High Sierra:
Installationspaket herunterladen Hier
Erreichte Datei und in Ihrem Ordner ablegen
Öffnen Sie das Terminal, gehen Sie zu Ihrem Ordner mit der Datei und geben Sie den folgenden Befehl ein:
./google-cloud-sdk/install.sh
"Ändern Sie das Profil, um Ihren $PATH
zu aktualisieren und die Bash-Vollendung zu aktivieren?"
Ja
/Users/USERNAME_COMPUTER/.bashrc
Geben Sie nach der Installation Folgendes ein:
source ~/.bashrc
Geben Sie Folgendes ein, um die Installation von gcloud zu überprüfen:
gcloud - -version
Neues Fenster-Terminal cmd+n
NICHT ALTES WINDOW SCHLIESSEN öffnen und in neues Fenster gcloud version
wenn: «Befehl nicht gefunden» gehe zu Schritt 9
ansonsten: Glückwunsch, GCloud arbeitet im Terminal
Kehren Sie zum alten Fenster zurück und geben Sie echo $PATH
Ein, und kopieren Sie den Pfad in GCloud
Öffne BASH_PROFILE:
open ~/.bash_profile
Pfad zur neuen Bash eingeben:
« export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
Kehren Sie zu Schritt 8 zurück
Sudo ./google-cloud-sdk/install.sh
Ich habe dies im Stammverzeichnis ausgeführt und es hat funktioniert. Ich verwende macOS Mojave Version 10.14.3.
Versuchen Sie, diesen Befehl unter Ubuntu/Linux auszuführen:
Sudo ./google-cloud-sdk/install.sh
Schließen Sie das Terminal oder öffnen Sie ein neues Fenster, wie im Protokoll angegeben:
==> Starten Sie eine neue Shell, damit die Änderungen wirksam werden.
Versuchen Sie anschließend, ein Paket mit dem Befehl glcloud zu installieren:
gcloud components install app-engine-php
Der Fehler wird nicht angezeigt.
$ Sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
Ich hatte hier eine ganz andere Geschichte, die von meinen virtuellen Python-Umgebungen verursacht wurde.
Irgendwann beim Ausführen von curl https://sdk.cloud.google.com | bash
wurde error angezeigt:
~/google-cloud-sdk/install.sh
Welcome to the Google Cloud SDK!
pyenv: python2: command not found
The `python2' command exists in these Python versions:
2.7.14
miniconda2-latest
solution Ich habe das google-cloud-sdk/install.sh
-Skript geändert:
# if CLOUDSDK_PYTHON is empty
if [ -z "$CLOUDSDK_PYTHON" ]; then
# if python2 exists then plain python may point to a version != 2
#if _cloudsdk_which python2 >/dev/null; then
# CLOUDSDK_PYTHON=python2
if _cloudsdk_which python2.7 >/dev/null; then
# this is what some OS X versions call their built-in Python
CLOUDSDK_PYTHON=python2.7
und konnte die Installation erfolgreich ausführen. Ich muss jedoch immer noch mein pyenv aktivieren, das den Befehl python2
hat, um gcloud
auszuführen.
warum so
Wenn Sie sich das google-cloud-sdk/install.sh
-Skript ansehen, werden Sie feststellen, dass es tatsächlich sehr brachial nach Python-Versionen sucht:
if [ -z "$CLOUDSDK_PYTHON" ]; then
# if python2 exists then plain python may point to a version != 2
if _cloudsdk_which python2 >/dev/null; then
CLOUDSDK_PYTHON=python2
Auf meinem Computer zeigt python2
jedoch nicht auf Python-Binärdateien und gibt auch nicht null zurück. Also ist die Installation abgestürzt.
Wenn Sie die ZSH-Shell in MacOS ausführen, sollten Sie die Installation erneut ausführen und wenn Sie nach dieser Frage gefragt werden:
Modify profile to update your $PATH and enable Shell command
completion?
antwort YES
und
Enter a path to an rc file to update, or leave blank to use
[/Users/your_user/.bash_profile]:
antwort (Ihr Zshrc-Pfad): /Users/your_user/.zshrc
Terminal neu starten und das ist alles.
Ich hatte das gleiche Problem und es war, weil der ~/.bash_profile
ungültige fi
-Anweisungen hatte.
Die Reparatur:
Sudo nano ~/.bash_profile
fi
-Anweisungen entfernt (die einen Start if
fehlten)source ~/.bash_profile