Nie znaleziono polecenia gcloud - podczas instalowania pakietu Google Cloud SDK

116

Używam komputera Mac i próbuję zainstalować pakiet Google Cloud SDK (w tym narzędzie wiersza poleceń gcloud) za pomocą tego polecenia w terminalu

curl https://sdk.cloud.google.com | bash

jak widać na https://cloud.google.com/sdk/

Doszło do końca i skończyło się, ale nawet po ponownym uruchomieniu powłoki gcloudpolecenie nadal mówi, że nie znaleziono.

Dlaczego ta instalacja nie działa?

smntx
źródło
4
Której powłoki używasz? Instalator pyta o aktualizację .bashrcpliku, ale (jeszcze) nie działa z zsh ani z innymi powłokami. Obsługa zsh w instalatorze jest w drodze. Czy odpowiedziałeś, ygdy instalator o to poprosił Modify profile to update your $PATH and enable bash completion? (Y/n)??
Zachary Newman
Właściwie tak, widziałem to, ale tak naprawdę mnie to nie zachęciło. Nie czekało na moją odpowiedź, więc nie udało mi się powiedzieć TAK. Dlatego instalator nie wykonał tego kroku. Zastanawiam się, jak teraz zrobić trwalszą poprawkę, ponieważ wygląda na to, że moja poprawka działała tylko jeden raz i musiałem zrobić to ponownie dzisiaj, aby to naprawić ponownie. Propozycje?
smntx
1
Właściwie tylko tym razem ponownie go zainstalowałem i monit zadziałał, więc teraz wszystko jest w porządku. Dzięki
smntx
1
Kiedy zainstalowałem gcloud, instalacja zmodyfikowała profil (np. ~/.bash_profile), Ale nie udało się go ponownie załadować. Uruchomienie source ~/.bash_profilenaprawiło to.
nick

Odpowiedzi:

119

Poniżej znajduje się moja poprzednia poprawka tego problemu, ale okazuje się, że nie jest to trwałe. Działa, ale za każdym razem, gdy ponownie uruchamiasz Terminal, musisz zrobić to samo, co nie jest praktyczne.

Dlatego sugeruję usunięcie bieżącego katalogu google-cloud-sdk i ponowne wykonanie instalacji. Upewnij się (jak wspomniał Zachary), aby odpowiedzieć tak (Y) na monit Modify profile to update your $PATH and enable bash completion? (Y/n).

Oto moja stara odpowiedź, ale po prostu powtórz instalację:

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!
smntx
źródło
20
W przypadku zsh istnieją odpowiednie pliki path.zsh.inci completion.zsh.incpliki.
Zachary Newman
3
Świetna odpowiedź. To uratowało mnie od bólu głowy.
Alex
6
Cóż, w moim przypadku zapomniałem zamknąć i otworzyć okno terminala po instalacji ... mam nadzieję, że to pomoże każdemu: D
NFRiaCowboy
1
Niestety, to już nie jest pytanie w najnowszym pliku install.sh
Phil
1
Obecny pakiet instalacyjny gcloud w jakiś sposób rozwidlił ten krok.
Jonny
44

To samo tutaj, próbuję

source ~/.bashrc

Wtedy zadziałało

nvcken
źródło
2
Nie ma takiego pliku ani katalogu
LKM
29

Ten pracował dla mnie:

source ~/.bash_profile
Mirza Vu
źródło
2
U mnie też
zadziałał
najpierw export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"to polecenie powyżej.
Bira
26

W systemie Mac / Linux musisz wprowadzić następujący wpis w swoim ~/.bashrc:

export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
Mapsy
źródło
Działał również na Macu. Należy ustawić zmienną PATH.
Parth Bhoiwala
@ParthBhoiwala Dzięki za poinformowanie mnie, zaktualizowałem odpowiedź. :)
Mapsy
Odpowiadaj tylko pracując z nową wersją, w której brak jest zachęty „dodaj zmienne do ścieżki”.
Stanislasdrg Przywróć Monikę
Ten pracował dla mnie. Moja instalacja nie zaktualizowała pliku .bashrc samodzielnie.
Sean Murphy
20

Miałem ten problem dzisiaj i dodałem sudodo install commandnaprawionego mojego problemu na maxOS Sierra!

sudo ./google-cloud-sdk/install.sh
Ibrahim
źródło
3
To jedyna rzecz, która pomogła mi w Sierra - żadna z pozostałych odpowiedzi nie zadziałała.
paqash
2
To również rozwiązało mój problem w systemie macOS 10.13 „High Sierra”
Maikel
musisz umieścić plik .zshrc, gdy program instalacyjny zapyta o plik bash, który cię używa. więc musisz umieścić coś takiego: /Users/YOU-NAME-USER/.zshrc
Richard Rebeco
17

Jak zainstalować GCloud i zawsze działa po ponownym uruchomieniu w systemie Mac OS HIGH Sierra:

  1. Pobierz pakiet instalacyjny tutaj

  2. Uzyskany plik i upuść w swoim folderze

  3. Otwórz terminal, przejdź do folderu z plikiem i wprowadź to polecenie:

     ./google-cloud-sdk/install.sh
    
  4. „Zmodyfikować profil, aby zaktualizować $PATHi włączyć uzupełnianie bash?”
    tak

  5. Wprowadź tę ścieżkę, aby zmodyfikować:
    /Users/USERNAME_COMPUTER/.bashrc
  6. Po zakończeniu instalacji wprowadź to:

      source ~/.bashrc
    
  7. Wpisz to, aby sprawdzić instalację gcloud:

    gcloud - -version

  8. Otwórz terminal w nowym oknie cmd+n NIE ZAMKNIJ STARE OKNO i wejdź w nowe oknogcloud version

    jeśli: «polecenie nie znaleziono» przejdź do kroku 9

    else: Gratulacje pracy GCloud w terminalu

  9. Wróć do starego okna i wprowadź echo $PATH i skopiuj ścieżkę do GCloud

  10. Otwórz BASH_PROFILE:

    open ~/.bash_profile
    
  11. Podaj ścieżkę do nowego Bash:

    « export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
    
  12. Wróć do kroku 8

Maxim Vakurin
źródło
13

Wiem, że udzielono odpowiedzi na to pytanie, ale oto moje dwa centy. Po zainstalowaniu gcloud musisz ponownie uruchomić powłokę, zanim będzie można uruchomić polecenie gcloud.

Sposób, w jaki to robisz, zależy głównie od pliku, w którym przechowujesz konfigurację powłoki. Większość plików są .bashrc_profile, .bashrc, .zshrc.

Możesz teraz ponownie uruchomić za pomocą

source ~/.bashrc_profile

Możesz zamienić plik na plik, który posiadasz.

Lub jeśli nie obchodzi cię plik, który masz, na Macu lub Linuksie możesz ponownie uruchomić powłokę.

exec -l $SHELL

Kanyi
źródło
12

Podczas instalacji SDK użyłem tej metody:

curl https://sdk.cloud.google.com | bash

Korzystając z tej metody od oryginalnego autora, upewnij się, że zaakceptowałeś preferencje zabezpieczeń w ustawieniach komputera Mac, aby zezwolić na pobieranie aplikacji ze sklepu z aplikacjami i od zidentyfikowanych programistów.

Internet rzeczy IOT
źródło
To było bardzo pomocne. Dzięki!
Mona Jalal
2
Musiałem dodać sudo z przodu
Mike Axle
10

Musisz tylko wykonać to polecenie jako root

$ curl https://sdk.cloud.google.com | bash

Zrestartuj terminal i to wszystko. Teraz wszystkie polecenia powinny być wykonywane jako root

Jhon Salazar
źródło
9

Uruchamiam zsh i stwierdziłem, że ten opis jest bardzo pomocny: https://gist.github.com/dwchiang/10849350

Edytuj plik ~ / .zshrc tak , aby zawierał te dwie linie:

# 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

Zakłada się, że zainstalowałeś pakiet w swoim głównym katalogu z oficjalnej dokumentacji

Connor Leech
źródło
7

Musiałem pozyskać mój plik bash_profile. Aby to zrobić,

  1. Otwórz sesję terminala.
  2. W tej sesji wpisz: source .bash_profile, a następnie naciśnij klawisz Enter

Teraz polecenie gcloud powinno działać

MG Denver
źródło
5

Aby uruchomić go na MacOs Sierra, po zainstalowaniu gcloud zmodyfikowałem mój .bash_profile

Oryginalne linie:

# 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

zaktualizowany do:

# 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

Uruchom ponownie terminal i wszystko zacznie działać zgodnie z oczekiwaniami!

Alejandro
źródło
Mogę potwierdzić, że to zadziałało również dla mnie (z zsh)
SJoshi
4

To zadziałało dla mnie:

Po tych słowach YdoModify profile to update your $PATH and enable bash completion? (Y/n)?

Inicjacja Google prosi o to: Enter a path to an rc file to update, or leave blank to usea domyślna ścieżka to: [/Users/MY_USERSAME/.bash_profile]:ale zamiast naciskać enter, napisałem: /Users/MY_USERNAME/.bashrcaby zmienić ścieżkę.

Spowoduje to nadpisanie domyślnej lokalizacji sugerowanej przez Google.

Wtedy musiałem tylko zrobić source ~/.bashrci teraz wszystko działa!

Thierry
źródło
To rozwiązało mój problem. Wpisałem ~ / .bash_profile, a instalacja nie aktualizowała ścieżki, ale także nie wyświetlała błędu.
Jude Osborn
2

Znalazłem niepoprawne if-fistwierdzenia w moim ~/.bash_profile (warunek no if w następnym bloku)

source '/Users/yorko/google-cloud-sdk/path.bash.inc'

fi

Musiałem tylko usunąć "fi"i uruchomić, "source ~/.bash_profile"aby to działało.

Kasznicki
źródło
2

Jeśli biegasz

source ~/.bashrc

zwraca wynik „Nie ma takiego pliku lub katalogu”

W systemie Windows:

  1. Idź do c / Users /
  2. Trzymając Shift, kliknij prawym przyciskiem myszy plik .bashrc i wybierz „Kopiuj jako ścieżkę”
  3. W bash: source <pasteCopiedPathHere>-> na przykład:source "C:\Users\John\.bashhrc"
Sebastian
źródło
2

Jeśli używasz powłoki ZSH w systemie MacOS, powinieneś ponownie uruchomić instalację, a gdy zostaniesz zapytany o to pytanie:

Modify profile to update your $PATH and enable shell command 
completion?

odpowiedź YES

i

Enter a path to an rc file to update, or leave blank to use 
    [/Users/your_user/.bash_profile]:

odpowiedź (twoja ścieżka zshrc): /Users/your_user/.zshrc

Zrestartuj Terminal i to wszystko.

Felipe Pereira
źródło
1

Instrukcje po instalacji nie są jasne:

==> 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.

Musiałem faktycznie dodać następujące wiersze kodu w moim .bash_profilefor gcloudto work:

source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'
zaprzeczać
źródło
1
sudo ./google-cloud-sdk/install.sh

Uruchomiłem to w katalogu głównym i zadziałało. Używam systemu macOS Mojave w wersji 10.14.3.

user3552803
źródło
1

Jeśli używasz systemu Mac OS i używasz powłoki .zsh, wykonaj następujące czynności:

  1. Edytuj .zshrci dodaj następujące elementy

    # The next line updates PATH for the Google Cloud SDK.
    source /Users/USER_NAME/google-cloud-sdk/path.zsh.inc
    
    # The next line enables zsh completion for gcloud.
    source /Users/USER_NAME/google-cloud-sdk/completion.zsh.inc
    
  2. Utwórz nowy plik o nazwie path.zsh.incw swoim katalogu domowym (/ Users / USER_NAME /):

    script_link="$( readlink "$0" )" || script_link="$0"
    apparent_sdk_dir="${script_link%/*}"
    if [ "$apparent_sdk_dir" == "$script_link" ]; then
     apparent_sdk_dir=.
    fi
    sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )"
    bin_path="$sdk_dir/bin"
    export PATH=$bin_path:$PATH
    

Sprawdź więcej @ Official Docs

Kryszna
źródło
0

Miałem ten sam problem i to dlatego, że ~/.bash_profilemiały nieprawidłowe fioświadczenia.

Poprawka:

  1. Wykonaj polecenie sudo nano ~/.bash_profile
  2. Usunięto fioświadczenia końcowe (bez otwarcia if)
  3. Zapisz zmiany .bash_profile
  4. Wykonaj polecenie source ~/.bash_profile
John Doherty
źródło
0
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
Tiago Ferreira
źródło
0

Teraz po uruchomieniu install.shw Mac OS, google się podając informację do uruchomienia completion.bash.inci path.bash.inc.

Jeśli używasz zshterminala, poprosi Cię o uruchomienie completion.zsh.inci path.zsh.inc. Zobacz obrazek poniżej

wprowadź opis obrazu tutaj

arthankamal
źródło
0

Miałem tutaj zupełnie inną historię, która okazała się być spowodowana przez moje wirtualne środowiska Pythona .

Gdzieś w połowie biegu wyskakuje curl https://sdk.cloud.google.com | bashmi błąd :

~/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

rozwiązanie Zmodyfikowałem google-cloud-sdk/install.shskrypt:

# 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

i był w stanie pomyślnie przeprowadzić instalację. Jednak nadal muszę aktywować mój pyenv, który ma python2polecenie uruchomienia gcloud.

dlaczego tak

Jeśli spojrzysz na google-cloud-sdk/install.shskrypt, zobaczysz, że w rzeczywistości sprawdza on wersje Pythona w bardzo brutalny sposób:

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

Jednak na moim komputerze python2nie wskazuje na plik binarny Pythona, ani nie zwraca null. Więc instalacja się zawiesiła.

alisa
źródło
0

Spróbuj wykonać to polecenie w systemie Ubuntu / Linux:

sudo ./google-cloud-sdk/install.sh

Zamknij terminal lub otwórz nowe okno zgodnie z dziennikiem:

==> Uruchom nową powłokę, aby zmiany odniosły skutek.

Po zakończeniu spróbuj zainstalować dowolny pakiet za pomocą polecenia glcloud:

gcloud components install app-engine-php

Nie pokaże błędu.

Jaymin
źródło
0

W skrócie:

emacs -nw ~/.zshrc
And add following line at the beginning:

# The next line updates PATH for the Google Cloud SDK.
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/path.zsh.inc'

#The next lines enables bash completion in Zsh for gcloud. 
autoload -U compinit compdef
compinit
source '/home/lesaint/GOOGLE_CLOUD/google-cloud-sdk/completion.zsh.inc'

U mnie działa rozwiązanie zaproponowane w poniższym artykule:

Źródła: http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html

Sprawdź moje rozwiązanie: -bash: gcloud: polecenie nie zostało znalezione na Macu

Frances He
źródło
0

Korzystanie .zsh shellmożna po prostu spróbuj dodać glcoudw plugin listy w ~/.zshrcpliku.

plugins=(
  gcloud
)

Jeśli to nie zadziała, spróbuj tego: (zaktualizowana odpowiedź Kryszny )

  1. Zaktualizuj ~/.zshrcplik
# Updates PATH for the Google Cloud SDK.
source /Users/austris/google-cloud-sdk/path.zsh.inc

# Enables zsh completion for gcloud.
source /Users/austris/google-cloud-sdk/completion.zsh.inc
  1. Zaktualizuj google-cloud-sdk/path.zsh.incplik, dodając następujące
script_link="$( readlink "$0" )" || script_link="$0" 
apparent_sdk_dir="${script_link%/*}" 
if [[ "$apparent_sdk_dir" == "$script_link" ]]; then
  apparent_sdk_dir=. 
fi
sdk_dir="$( cd -P "$apparent_sdk_dir" && pwd -P )" 
bin_path="$sdk_dir/bin" 
export PATH=$bin_path:$PATH

* w oryginalnej odpowiedzi brakowało podwójnych nawiasów kwadratowych w trzecim wierszu

Austris Cirulnieks
źródło