Comando gcloud non trovato durante l'installazione di Google Cloud SDK


116

Sono su un Mac e sto cercando di installare Google Cloud SDK (inclusa l'utilità della riga di comando gcloud) utilizzando questo comando nel terminale

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

come visto su https://cloud.google.com/sdk/

È arrivato fino alla fine e finito, ma anche dopo aver riavviato la mia shell, il gcloudcomando dice ancora che non è stato trovato.

Perché questa installazione non funziona?


4
Quale shell stai usando? Il programma di installazione richiede di aggiornare il .bashrcfile, ma non funziona (ancora) con zsh o altre shell. Il supporto per zsh nell'installer è in arrivo. Hai risposto yquando richiesto dal programma di installazione Modify profile to update your $PATH and enable bash completion? (Y/n)??
Zachary Newman

In realtà sì, l'ho visto, ma in realtà non mi ha suggerito. Non ha aspettato la mia risposta, quindi non ho potuto dire SÌ. Pertanto, il programma di installazione non ha eseguito questo passaggio. Mi chiedo come fare una correzione più permanente ora, perché sembra che la mia correzione abbia funzionato solo per una volta e ho dovuto rifarla oggi per risolverla di nuovo. Suggerimenti?
smntx

1
In realtà questa volta l'ho reinstallato e il prompt ha funzionato, quindi ora sto bene. Grazie
smntx

1
Quando ho installato gcloud, l'installazione ha modificato il profilo (ad esempio ~/.bash_profile) ma non è riuscito a ricaricarlo. L'esecuzione lo ha source ~/.bash_profilerisolto.
nick

Risposte:


119

Quindi di seguito è riportata la mia precedente soluzione per questo problema, ma risulta che non è permanente. Funziona ma ogni volta che riavvii Terminal, dovresti fare la stessa cosa che non è pratica.

Ecco perché ti suggerisco di eliminare l'attuale directory google-cloud-sdk e di ripetere l'installazione. Assicurati (come ha detto Zachary) di rispondere sì (Y) al prompt Modify profile to update your $PATH and enable bash completion? (Y/n).

Ecco la mia vecchia risposta, ma basta rifare l'installazione:

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!

20
Per zsh, ci sono file path.zsh.ince corrispondenti completion.zsh.inc.
Zachary Newman

3
Bella risposta. Questo mi ha salvato dal mal di testa.
Alex

6
Bene ragazzi, nel mio caso ho appena dimenticato di chiudere e aprire la finestra del terminale dopo l'installazione ... spero che questo aiuti qualsiasi corpo: D
NFRiaCowboy

1
Sfortunatamente, questa non è più una domanda nell'ultimo install.sh
Phil

1
L'attuale pacchetto di installazione di gcloud ha in qualche modo biforcato questo passaggio.
Jonny

44

Lo stesso qui, ci provo

source ~/.bashrc

Quindi, ha funzionato


2
Nessun file o directory di questo tipo
LKM

29

Questo ha funzionato per me:

source ~/.bash_profile

2
Ha funzionato anche per me
Mike Boutin

prima export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"poi questo comando sopra.
Bira

26

Su Mac / Linux, dovrai inserire la seguente voce nel tuo ~/.bashrc:

export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"

Funzionava anche su Mac. La variabile PATH dovrà essere impostata.
Parth Bhoiwala,

@ParthBhoiwala Grazie per avermelo informato, ho aggiornato la risposta. :)
Mapsy

Rispondi solo lavorando con la nuova versione, dove il prompt "aggiungi variabili al percorso" è assente.
Stanislasdrg Reinstate Monica il

Questo ha funzionato per me. La mia installazione non ha aggiornato .bashrc da sola.
Sean Murphy

20

Ho avuto questo problema oggi e aggiungendo sudoal install commandproblema risolto il mio problema su maxOS Sierra!

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

3
Questa è l'unica cosa che mi ha aiutato su Sierra: nessuna delle altre risposte ha funzionato.
paqash

2
Questo ha anche risolto il mio problema su macOS v10.13 "High Sierra"
Maikel

devi mettere il .zshrc quando il programma di installazione richiede il file bash che stai usando. quindi devi metterne alcuni come questo: /Users/YOU-NAME-USER/.zshrc
Richard Rebeco

17

Come installare GCloud e funziona sempre dopo il riavvio su Mac OS HIGH Sierra:

  1. Scarica il pacchetto di installazione qui

  2. File ottenuto e rilascio nella cartella

  3. Apri il terminale, vai alla tua cartella con il file e inserisci questo comando:

     ./google-cloud-sdk/install.sh
    
  4. "Modificare il profilo per aggiornare $PATHe abilitare il completamento bash?"

  5. Immettere questo percorso per modificare:
    /Users/USERNAME_COMPUTER/.bashrc
  6. Dopo tutta l'installazione, inserisci questo:

      source ~/.bashrc
    
  7. Inseriscilo per verificare l'installazione di gcloud:

    gcloud - -version

  8. Apri un nuovo terminale finestra cmd+n NON CHIUDERE LA VECCHIA FINESTRA ed entrare in una nuova finestragcloud version

    Se: «comando non trovato» vai al punto 9

    altro: Congratulazioni GCloud funziona nel terminale

  9. Torna alla vecchia finestra ed entra echo $PATH e copia il percorso su GCloud

  10. Apri BASH_PROFILE:

    open ~/.bash_profile
    
  11. Inserisci il percorso per il nuovo Bash:

    « export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
    
  12. Torna al passaggio 8


13

So che questa domanda ha avuto risposta, ma ecco i miei due cent. Dopo aver installato gcloud, è necessario riavviare la shell prima di poter eseguire il comando gcloud.

Il modo in cui lo fai, dipende principalmente dal file che mantieni la configurazione della shell. La maggior parte dei file sono .bashrc_profile, .bashrc, .zshrc.

Ora puoi riavviare con

source ~/.bashrc_profile

Puoi sostituire il file con il file che hai.

Oppure, se non ti interessa il file che hai, su Mac o Linux puoi riavviare la shell.

exec -l $SHELL


12

Durante l'installazione dell'SDK ho utilizzato questo metodo:

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

Quando utilizzi questo metodo dell'autore originale, assicurati di aver accettato le preferenze di sicurezza nelle impostazioni del tuo Mac per consentire le app scaricate dall'app store e gli sviluppatori identificati.


Questo è stato molto utile. Grazie!
Mona Jalal

2
Ho dovuto aggiungere il sudo davanti
Mike Axle

10

Devi solo eseguire questo comando come root

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

Riavvia il terminale e il gioco è fatto. Ora tutti i comandi dovrebbero essere eseguiti come root


9

Sto eseguendo zsh e ho trovato questa sintesi molto utile: https://gist.github.com/dwchiang/10849350

Modifica il file ~ / .zshrc per includere queste due righe:

# 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

Questo presuppone che tu abbia installato il pacchetto nella tua directory principale dai documenti ufficiali


7

Ho dovuto trovare il mio file bash_profile. Fare così,

  1. Apri una sessione Terminal.
  2. In quella sessione digitare: source .bash_profile e quindi premere invio

Ora, il comando gcloud dovrebbe funzionare


5

Per avviarlo su MacOs Sierra, dopo aver installato gcloud ho modificato il mio .bash_profile

Linee originali:

# 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

aggiornato a:

# 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

Riavvia il terminale e tutto inizierà a funzionare come previsto!


Posso confermare che ha funzionato anche per me (con zsh)
SJoshi

4

Questo ha funzionato per me:

Dopo aver detto YaModify profile to update your $PATH and enable bash completion? (Y/n)?

L'avvio di Google sta suggerendo questo: Enter a path to an rc file to update, or leave blank to usee il percorso predefinito era: [/Users/MY_USERSAME/.bash_profile]:ma invece di premere enter, ho scritto: /Users/MY_USERNAME/.bashrcper cambiare il percorso.

Ciò sovrascriverebbe la posizione predefinita suggerita da Google.

Poi, dovevo solo fare source ~/.bashrce ora funziona tutto!


Questo ha risolto il mio problema. Stavo digitando ~ / .bash_profile e l'installazione non aggiornava il percorso, ma non generava nemmeno un errore.
Jude Osborn

2

Ho trovato if-fiaffermazioni errate nella mia ~/.bash_profile (nessuna condizione if nel blocco successivo)

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

fi

Ho dovuto solo rimuovere "fi"e correre "source ~/.bash_profile"per farlo funzionare.


2

Se in esecuzione

source ~/.bashrc

risulta in "Nessun file o directory di questo tipo"

Su Windows:

  1. Vai a c / Utenti /
  2. Tenendo premuto MAIUSC, fai clic con il pulsante destro del mouse sul file .bashrc e seleziona "Copia come percorso"
  3. In bash: source <pasteCopiedPathHere>-> per esempio:source "C:\Users\John\.bashhrc"

2

Se stai eseguendo la shell ZSH in MacOS, dovresti rieseguire l'installazione e quando ti viene chiesta questa domanda:

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

risposta YES

e

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

risposta (il tuo percorso zshrc): /Users/your_user/.zshrc

Riavvia Terminal e questo è tutto.


1

Le istruzioni successive all'installazione non sono chiare:

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

Ho dovuto effettivamente aggiungere le seguenti righe di codice nel mio .bash_profileper gcloudfunzionare:

source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'

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

L'ho eseguito nella directory principale e ha funzionato. Sto eseguendo macOS Mojave versione 10.14.3.


1

Se sei su un sistema operativo MAC e utilizzi la shell .zsh , procedi come segue:

  1. Modifica il tuo .zshrce aggiungi quanto segue

    # 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. Crea un nuovo file denominato path.zsh.incnella tua directory home (/ 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
    

Scopri di più @ Documenti ufficiali


0

Ho avuto lo stesso problema ed è stato perché ~/.bash_profileaveva fidichiarazioni non valide .

La correzione:

  1. Esegui il comando sudo nano ~/.bash_profile
  2. fiDichiarazioni di chiusura rimosse (quelle a cui manca un'apertura if)
  3. Salva le modifiche .bash_profile
  4. Esegui il comando source ~/.bash_profile

0
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>

0

Ora, dopo l'esecuzione install.shin Mac OS, Google stesso dando le informazioni per eseguire completion.bash.ince path.bash.inc.

Se stai usando il zshterminale, ti chiederà di eseguire completion.zsh.ince path.zsh.inc. Si prega di vedere l'immagine qui sotto

inserisci qui la descrizione dell'immagine


0

Ho avuto una storia molto diversa qui che si è rivelata essere causata dai miei ambienti virtuali Python .

Da qualche parte nel mezzo della corsa curl https://sdk.cloud.google.com | bash, stavo ricevendo un errore :

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

soluzione ho modificato lo google-cloud-sdk/install.shscript:

# 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

ed è stato in grado di eseguire l'installazione con successo. Tuttavia, ho ancora bisogno di attivare il mio pyenv che ha il python2comando da eseguire gcloud.

perchè così

Se guardi lo google-cloud-sdk/install.shscript, vedrai che sta effettivamente verificando le versioni di Python in modo molto brutale:

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

Tuttavia, sulla mia macchina python2non punta al binario Python, né restituisce null. Quindi l'installazione è andata in crash.


0

Prova a eseguire questo comando su Ubuntu / Linux:

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

Chiudi il terminale o apri una nuova finestra mentre il registro dice:

==> Avvia una nuova shell per rendere effettive le modifiche.

Una volta terminato, prova a installare qualsiasi pacchetto con il comando glcloud:

gcloud components install app-engine-php

Non mostrerà l'errore.


0

In breve:

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'

La soluzione proposta dal seguente articolo funziona per me:

Riferimento: http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html

Controlla la mia soluzione: -bash: gcloud: comando non trovato su Mac


0

Utilizzando .zsh shellsi può solo provare ad aggiungere glcoudin plug-lista nel ~/.zshrcfile.

plugins=(
  gcloud
)

Se non funziona, prova questo: ( risposta di Krishna aggiornata )

  1. Aggiorna il ~/.zshrcfile
# 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. Aggiorna il google-cloud-sdk/path.zsh.incfile con quanto segue
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

* le doppie parentesi quadre alla terza riga mancavano dalla risposta originale

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.