Comando gcloud não encontrado - durante a instalação do Google Cloud SDK

116

Estou em um mac e estou tentando instalar o Google Cloud SDK (incluindo o utilitário de linha de comando gcloud) usando este comando no terminal

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

conforme visto em https://cloud.google.com/sdk/

Ele foi até o fim e terminou, mas mesmo depois de reiniciar meu shell, o gcloudcomando ainda diz que não foi encontrado.

Por que esta instalação não está funcionando?

smntx
fonte
4
Qual shell você está usando? O instalador avisa sobre a atualização do .bashrcarquivo, mas (ainda) não funciona com zsh ou outros shells. O suporte zsh no instalador está a caminho. Você respondeu yquando o instalador perguntou Modify profile to update your $PATH and enable bash completion? (Y/n)??
Zachary Newman
Na verdade, sim, eu vi isso, mas na verdade não me alertou. Ele não esperou pela minha resposta, então eu não consegui dizer SIM. Portanto, o instalador não fez essa etapa. Estou me perguntando como fazer uma correção mais permanente agora, porque parece que minha correção funcionou apenas uma vez e eu tive que fazer novamente hoje para corrigi-la novamente. Sugestões?
smntx
1
Na verdade, acabei de reinstalar desta vez e o prompt funcionou, então agora estou tudo bem. Obrigado
smntx
1
Quando instalei o gcloud, a instalação modificou o perfil (por exemplo ~/.bash_profile), mas falhou ao recarregá-lo. Correndo source ~/.bash_profileconsertou.
apelido de

Respostas:

119

Abaixo está minha correção anterior para esse problema, mas ele não é permanente. Funciona, mas toda vez que você reiniciar o Terminal, terá que fazer a mesma coisa, o que não é prático.

É por isso que sugiro que você exclua o diretório google-cloud-sdk atual e apenas refaça a instalação. Certifique-se (como Zachary mencionou) de responder sim (Y) ao prompt Modify profile to update your $PATH and enable bash completion? (Y/n).

Aqui está minha resposta antiga, mas apenas refazer a instalação:

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
fonte
20
Para zsh, existem arquivos path.zsh.ince correspondentes completion.zsh.inc.
Zachary Newman
3
Ótima resposta. Isso me salvou de dor de cabeça.
Alex
6
Bem galera no meu caso eu esqueci de fechar e abrir a janela do terminal após a instalação .... espero que isso ajude alguém: D
NFRiaCowboy 12/06
1
Infelizmente, isso não é mais uma questão no último install.sh
Phil
1
O pacote de instalação atual do gcloud de alguma forma bifurcou esta etapa.
Jonny,
44

Aqui mesmo eu tento

source ~/.bashrc

Então, funcionou

nvcken
fonte
2
Esse arquivo ou diretório não
existe
29

Este funcionou para mim:

source ~/.bash_profile
Mirza Vu
fonte
2
Funcionou para mim também
Mike Boutin
primeiro, export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"então este comando acima.
Bira
26

No Mac / Linux, você precisará inserir a seguinte entrada em ~/.bashrc:

export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
Mapsy
fonte
Funcionou no Mac também. A variável PATH precisará ser definida.
Parth Bhoiwala
@ParthBhoiwala Obrigado por me avisar, atualizei a resposta. :)
Mapsy,
Responda apenas trabalhando com a nova versão, onde o prompt 'adicionar variáveis ​​ao caminho' está ausente.
Stanislasdrg Reintegrar Monica de
Este funcionou para mim. Minha instalação não atualizou .bashrc por conta própria.
Sean Murphy
20

Eu tive esse problema hoje, e adicionando sudoao install commandfixa o meu problema em Maxos Serra!

sudo ./google-cloud-sdk/install.sh
Ibrahim
fonte
3
Esta é a única coisa que me ajudou na Sierra - nenhuma das outras respostas funcionou.
paqash
2
Isso também corrigiu meu problema no macOS v10.13 "High Sierra"
Maikel
você precisa colocar o .zshrc quando o programa de instalação solicitar o arquivo bash que está usando você. então você precisa colocar alguns como este: /Users/YOU-NAME-USER/.zshrc
Richard Rebeco
17

Como instalar o GCloud e sempre funciona após reiniciar no Mac OS HIGH Sierra:

  1. Baixe o pacote de instalação aqui

  2. Arquivo obtido e colocado em sua pasta

  3. Abra o terminal, vá até sua pasta com o arquivo e digite este comando:

     ./google-cloud-sdk/install.sh
    
  4. "Modificar perfil para atualizar seu $PATHe habilitar a conclusão do bash?"
    sim

  5. Insira este caminho para modificar:
    /Users/USERNAME_COMPUTER/.bashrc
  6. Depois de instalar, insira o seguinte:

      source ~/.bashrc
    
  7. Digite para verificar a instalação do gcloud:

    gcloud - -version

  8. Abra um novo terminal de janela cmd+n NÃO FECHE A JANELA ANTIGA e entre em uma nova janelagcloud version

    se: «comando não encontrado» vá para a etapa 9

    mais: Parabéns, GCloud, trabalho no terminal

  9. Volte para a janela antiga e digite echo $PATH e copie o caminho para o GCloud

  10. Abra BASH_PROFILE:

    open ~/.bash_profile
    
  11. Insira o caminho para o novo Bash:

    « export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
    
  12. Retorne ao passo 8

Maxim Vakurin
fonte
13

Sei que essa pergunta foi respondida, mas aqui estão meus dois centavos. Depois de instalar o gcloud, você precisa reiniciar o shell antes de poder executar o comando gcloud.

A maneira como você faz isso depende principalmente do arquivo em que você mantém a configuração do shell. A maioria dos arquivos são .bashrc_profile, .bashrc, .zshrc.

Agora você pode reiniciar com

source ~/.bashrc_profile

Você pode substituir o arquivo pelo arquivo que possui.

Ou se você não se importa com o arquivo que possui, no Mac ou Linux você pode reiniciar o shell.

exec -l $SHELL

Kanyi
fonte
12

Ao instalar o SDK, usei este método:

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

Ao usar este método do autor original, certifique-se de aceitar as preferências de segurança nas configurações do seu mac para permitir o download de aplicativos da app store e de desenvolvedores identificados.

Internet IOT das coisas
fonte
Isso foi muito útil. Obrigado!
Mona Jalal
2
Tive que adicionar o sudo na frente
Mike Axle
10

Você só precisa executar este comando como root

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

Reinicie o terminal e pronto. Agora todos os comandos devem ser executados como root

Jhon Salazar
fonte
9

Estou executando o zsh e achei esta essência muito útil: https://gist.github.com/dwchiang/10849350

Edite o arquivo ~ / .zshrc para incluir estas duas linhas:

# 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

Isso assume que você instalou o pacote em seu diretório principal a partir dos documentos oficiais

Connor Leech
fonte
7

Eu tive que originar meu arquivo bash_profile. Para fazer isso,

  1. Abra uma sessão de Terminal.
  2. Nessa sessão, digite: source .bash_profile e pressione Enter

Agora, o comando gcloud deve funcionar

MG Denver
fonte
5

Para iniciá-lo no MacOs Sierra, após instalar o gcloud, modifiquei meu .bash_profile

Linhas originais:

# 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

atualizado para:

# 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

Reinicie o terminal e tudo funcione como esperado!

Alejandro
fonte
Pode confirmar que isso funcionou para mim também (com zsh)
SJoshi
4

Isso funcionou para mim:

Depois de dizer YparaModify profile to update your $PATH and enable bash completion? (Y/n)?

A iniciação do Google está solicitando isso: Enter a path to an rc file to update, or leave blank to usee o caminho padrão era: [/Users/MY_USERSAME/.bash_profile]:mas em vez de pressionar enter, eu escrevi: /Users/MY_USERNAME/.bashrcpara alterar o caminho.

Isso substituiria o local padrão que o Google sugere.

Aí, eu só tive que fazer source ~/.bashrce tudo funciona agora!

Thierry
fonte
Isso resolveu meu problema. Eu estava digitando ~ / .bash_profile e a instalação não estava atualizando o caminho, mas também não gerava um erro.
Jude Osborn
2

Encontrei if-fiafirmações incorretas na minha ~/.bash_profile (nenhuma condição if no próximo bloco)

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

fi

Eu só tive que remover "fi"e correr "source ~/.bash_profile"para fazer funcionar.

Kashnitsky
fonte
2

Se estiver correndo

source ~/.bashrc

resulta em "Não existe tal arquivo ou diretório"

No Windows:

  1. Vá para c / Usuários /
  2. Enquanto segura a tecla Shift, clique com o botão direito no arquivo .bashrc e selecione "Copiar como caminho"
  3. Em bash: source <pasteCopiedPathHere>-> por exemplo:source "C:\Users\John\.bashhrc"
Sebastian
fonte
2

Se você estiver executando o shell ZSH no MacOS, execute novamente a instalação e quando esta pergunta for feita:

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

responda YES

e

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

resposta (seu caminho zshrc): /Users/your_user/.zshrc

Reinicie o Terminal e pronto.

Felipe pereira
fonte
1

As instruções pós-instalação não são claras:

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

Tive de realmente adicionar as seguintes linhas de código no meu .bash_profilefor gcloudpara funcionar:

source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'
negar
fonte
1
sudo ./google-cloud-sdk/install.sh

Eu executei isso no diretório raiz e funcionou. Estou executando o macOS Mojave versão 10.14.3.

user3552803
fonte
1

Se você estiver no MAC OS e usando o shell .zsh , faça o seguinte:

  1. Edite o seu .zshrce adicione o seguinte

    # 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. Crie um novo arquivo nomeado path.zsh.incem seu diretório inicial (/ 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
    

Confira mais em documentos oficiais

Krishna
fonte
0

Eu tive o mesmo problema e era porque ~/.bash_profiletinha fideclarações inválidas .

O conserto:

  1. Execute o comando sudo nano ~/.bash_profile
  2. fiDeclarações de fechamento removidas (aquelas que faltam uma abertura if)
  3. Salvar alterações de .bash_profile
  4. Execute o comando source ~/.bash_profile
John Doherty
fonte
0
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
Tiago Ferreira
fonte
0

Agora depois de correr install.shem Mac OS, google si dando a informação para executar completion.bash.ince path.bash.inc.

Se você estiver usando um zshterminal, ele pedirá que você execute completion.zsh.ince path.zsh.inc. Por favor veja a imagem abaixo

insira a descrição da imagem aqui

Arthankamal
fonte
0

Eu tive uma história muito diferente aqui que acabou por ser causada por meus ambientes virtuais Python .

Em algum lugar no meio da execução curl https://sdk.cloud.google.com | bash, estava recebendo o erro :

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

solução Eu modifiquei o 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

e conseguiu executar a instalação com sucesso. No entanto, ainda preciso ativar meu pyenv que possui o python2comando para ser executado gcloud.

Por quê então

Se você olhar o google-cloud-sdk/install.shscript, verá que ele está, na verdade, verificando as versões do Python de uma maneira muito bruta:

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

No entanto, na minha máquina python2não aponta para o binário Python, nem retorna nulo. Então, a instalação travou.

alisa
fonte
0

Tente fazer este comando no Ubuntu / Linux:

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

Feche o terminal ou abra uma nova janela conforme o registro diz:

==> Inicie um novo shell para que as alterações tenham efeito.

Uma vez feito isso, tente instalar qualquer pacote pelo comando glcloud:

gcloud components install app-engine-php

Não mostrará o erro.

Jaymin
fonte
0

Em resumo:

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'

A solução proposta pelo seguinte artigo funciona para mim:

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

Verifique minha solução: -bash: gcloud: command não encontrado no Mac

Frances He
fonte
0

Usando .zsh shellvocê pode apenas tentar adicionar glcoudna lista de plugins no ~/.zshrcarquivo.

plugins=(
  gcloud
)

Se isso não funcionar, tente o seguinte: ( resposta de Krishna atualizada )

  1. Atualize o ~/.zshrcarquivo
# 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. Atualize o google-cloud-sdk/path.zsh.incarquivo com o seguinte
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

* colchetes duplos na terceira linha estavam faltando na resposta original

Austris Cirulnieks
fonte