No se encontró el comando gcloud: al instalar el SDK de Google Cloud

116

Estoy en una Mac e intento instalar el SDK de Google Cloud (incluida la utilidad de línea de comandos de gcloud) usando este comando en la terminal

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

como se ve en https://cloud.google.com/sdk/

Llegó hasta el final y terminó, pero incluso después de reiniciar mi shell, el gcloudcomando aún dice que no se encuentra.

¿Por qué no funciona esta instalación?

smntx
fuente
4
¿Qué caparazón estás usando? El instalador solicita la actualización de su .bashrcarchivo, pero (todavía) no funciona con zsh u otros shells. El soporte de zsh en el instalador está en camino. ¿Respondió ycuando el instalador se lo solicitó Modify profile to update your $PATH and enable bash completion? (Y/n)??
Zachary Newman
En realidad sí, lo vi, pero en realidad no me incitó. No esperó mi respuesta, así que no pude decir SÍ. Por lo tanto, el instalador no realizó ese paso. Me pregunto cómo hacer una solución más permanente ahora, porque parece que mi solución solo funcionó una vez y tuve que hacerlo de nuevo hoy para solucionarlo nuevamente. Sugerencias
smntx
1
En realidad, esta vez lo reinstalé y el mensaje funcionó, así que ahora estoy bien. Gracias
smntx
1
Cuando instalé gcloud, la instalación modificó el perfil (por ejemplo ~/.bash_profile) pero no pudo volver a cargarlo. Correr lo source ~/.bash_profilearregló.
nick

Respuestas:

119

A continuación se muestra mi solución anterior para este problema, pero resulta que no es permanente. Funciona, pero cada vez que reinicia la Terminal, tendrá que hacer lo mismo, lo cual no es práctico.

Por eso le sugiero que elimine el directorio actual de google-cloud-sdk y simplemente vuelva a realizar la instalación. Asegúrese (como ha mencionado Zachary) de responder sí (Y) a la pregunta Modify profile to update your $PATH and enable bash completion? (Y/n).

Aquí está mi respuesta anterior, pero simplemente rehaga la instalación:

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
fuente
20
Para zsh, hay archivos path.zsh.incy correspondientes completion.zsh.inc.
Zachary Newman
3
Gran respuesta. Esto me salvó del dolor de cabeza.
Alex
6
Bueno, chicos, en mi caso, me olvidé de cerrar y abrir la ventana de la terminal después de la instalación ... espero que esto ayude a alguien: D
NFRiaCowboy
1
Desafortunadamente, esto ya no es una pregunta en el último install.sh
Phil
1
El paquete de instalación de gcloud actual de alguna manera ha bifurcado este paso.
Jonny
44

Lo mismo aquí, lo intento

source ~/.bashrc

Entonces, funcionó

nvcken
fuente
2
No existe tal archivo o directorio
LKM
29

Este funcionó para mí:

source ~/.bash_profile
Mirza Vu
fuente
2
También funcionó para mí
Mike Boutin
primero, export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"luego este comando de arriba.
Bira
26

En Mac / Linux, deberá ingresar la siguiente entrada en su ~/.bashrc:

export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
Mapsy
fuente
También funcionó en mac. Será necesario configurar la variable PATH.
Parth Bhoiwala
@ParthBhoiwala Gracias por avisarme, he actualizado la respuesta. :)
Mapsy
Solo responda trabajando con la nueva versión, donde el mensaje 'agregar variables a la ruta' está ausente.
Stanislasdrg reinstala a Monica
Este funcionó para mí. Mi instalación no actualizó .bashrc por sí sola.
Sean Murphy
20

Tenía este problema hoy en día, y añadiendo sudoa la install commandfija mi problema en MAXOS Sierra!

sudo ./google-cloud-sdk/install.sh
Ibrahim
fuente
3
Esto es lo único que me ayudó en Sierra: ninguna de las otras respuestas funcionó.
paqash
2
Esto también solucionó mi problema en macOS v10.13 "High Sierra"
Maikel
debe poner el .zshrc cuando el programa de instalación solicite el archivo bash que está usando. por lo que debe poner algunos como este: /Users/YOU-NAME-USER/.zshrc
Richard Rebeco
17

Cómo instalar GCloud y Always Works después de reiniciar en Mac OS HIGH Sierra:

  1. Descargue el paquete de instalación aquí

  2. Archivo logrado y soltarlo en su carpeta

  3. Abra la terminal, vaya a su carpeta con el archivo e ingrese este comando:

     ./google-cloud-sdk/install.sh
    
  4. "¿Modificar el perfil para actualizar el suyo $PATHy habilitar la finalización de bash?"
    si

  5. Ingrese esta ruta para modificar:
    /Users/USERNAME_COMPUTER/.bashrc
  6. Después de toda la instalación, ingrese esto:

      source ~/.bashrc
    
  7. Ingrese esto para verificar la instalación de gcloud:

    gcloud - -version

  8. Abrir ventana nueva terminal cmd+n NO CERRAR VENTANA VIEJA y entrar en ventana nuevagcloud version

    si: «comando no encontrado» vaya al paso 9

    else: Felicitaciones por trabajar en GCloud en la terminal

  9. Regrese a la ventana anterior e ingrese echo $PATH y copie la ruta a GCloud

  10. Abra BASH_PROFILE:

    open ~/.bash_profile
    
  11. Ingrese la ruta al nuevo Bash:

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

Maxim Vakurin
fuente
13

Sé que esta pregunta ha sido respondida, pero aquí están mis dos centavos. Después de instalar gcloud, debes reiniciar el shell antes de poder usar el comando gcloud.

La forma de hacer esto depende principalmente del archivo que mantenga en su configuración de shell. La mayoría de los archivos son .bashrc_profile, .bashrc, .zshrc.

Ahora puede reiniciar con

source ~/.bashrc_profile

Puede reemplazar el archivo por el archivo que tiene.

O si no le importa el archivo que tiene, en Mac o Linux puede reiniciar el shell.

exec -l $SHELL

Kanyi
fuente
12

Al instalar el SDK utilicé este método:

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

Cuando utilice este método del autor original, asegúrese de haber aceptado las preferencias de seguridad en la configuración de su mac para permitir aplicaciones descargadas de la tienda de aplicaciones y desarrolladores identificados.

IOT internet de las cosas
fuente
Esto fue muy útil. ¡Gracias!
Mona Jalal
2
Tuve que agregar el sudo al frente
Mike Axle
10

Solo tienes que ejecutar este comando como root

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

Reinicia la terminal y listo. Ahora todos los comandos deben ejecutarse como root

Jhon Salazar
fuente
9

Estoy ejecutando zsh y encontré esta esencia muy útil: https://gist.github.com/dwchiang/10849350

Edite el archivo ~ / .zshrc para incluir estas dos líneas:

# 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

Esto supone que instaló el paquete en su directorio principal de los documentos oficiales

Connor sanguijuela
fuente
7

Tuve que obtener mi archivo bash_profile. Para hacerlo

  1. Abra una sesión de Terminal.
  2. En esa sesión escriba: source .bash_profile y luego presione enter

Ahora, el comando gcloud debería funcionar

MG Denver
fuente
5

Para ejecutarlo en MacOs Sierra, después de instalar gcloud modifiqué mi .bash_profile

Líneas originales:

# 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

actualizado 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

Reinicie la terminal y todo comenzará a funcionar como se esperaba.

Alejandro
fuente
Puedo confirmar que esto también funcionó para mí (con zsh)
SJoshi
4

Esto funcionó para mí:

Después de decir YaModify profile to update your $PATH and enable bash completion? (Y/n)?

La iniciación de Google está provocando esto: Enter a path to an rc file to update, or leave blank to usey la ruta predeterminada era: [/Users/MY_USERSAME/.bash_profile]:pero en lugar de presionar enter, escribí: /Users/MY_USERNAME/.bashrcpara cambiar la ruta.

Esto sobrescribiría la ubicación predeterminada que sugiere Google.

Entonces, solo tenía que hacer source ~/.bashrcy ¡todo funciona ahora!

Thierry
fuente
Esto solucionó mi problema. Estaba escribiendo ~ / .bash_profile y la instalación no actualizaba la ruta, pero tampoco generaba un error.
Jude Osborn
2

Encontré if-fideclaraciones incorrectas en mi ~/.bash_profile (condición no si en el siguiente bloque)

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

fi

Solo tuve que quitarlo "fi"y ejecutarlo "source ~/.bash_profile"para que funcione.

Kashnitsky
fuente
2

Si corre

source ~/.bashrc

da como resultado "No existe tal archivo o directorio"

En ventanas:

  1. Vaya a c / Usuarios /
  2. Mientras mantiene presionada la tecla Mayús, haga clic con el botón derecho en el archivo .bashrc y seleccione "Copiar como ruta"
  3. En bash: source <pasteCopiedPathHere>-> por ejemplo:source "C:\Users\John\.bashhrc"
Sebastián
fuente
2

Si está ejecutando el shell ZSH en MacOS, debe volver a ejecutar la instalación y cuando se le pregunte esta pregunta:

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

responder YES

y

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

respuesta (su ruta zshrc): /Users/your_user/.zshrc

Reinicie la Terminal y eso es todo.

Felipe Pereira
fuente
1

Las instrucciones posteriores a la instalación no son 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.

De hecho, tuve que agregar las siguientes líneas de código en mi .bash_profilepara gcloudque funcionara:

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

Ejecuté esto en el directorio raíz y funcionó. Estoy ejecutando macOS Mojave versión 10.14.3.

usuario3552803
fuente
1

Si está en MAC OS y usa el shell .zsh , haga lo siguiente:

  1. Edite su .zshrcy agregue lo siguiente

    # 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. Cree un nuevo archivo con el nombre de path.zsh.incsu directorio de inicio (/ 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
    

Ver más @ Documentos oficiales

Krishna
fuente
0

Tuve el mismo problema y fue porque ~/.bash_profiletenía fideclaraciones inválidas .

La solución:

  1. Ejecutar comando sudo nano ~/.bash_profile
  2. fiDeclaraciones de cierre eliminadas (las que no tienen una apertura if)
  3. Guardar cambios de .bash_profile
  4. Ejecutar comando source ~/.bash_profile
John Doherty
fuente
0
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
Tiago Ferreira
fuente
0

Ahora después de correr install.shen Mac OS, Google sí dando la información para ejecutar completion.bash.incypath.bash.inc .

Si está utilizando una zshterminal, le pedirá que ejecute completion.zsh.incy path.zsh.inc. Por favor vea la imagen a continuación

ingrese la descripción de la imagen aquí

arthankamal
fuente
0

Aquí tuve una historia muy diferente que resultó ser causada por mis entornos virtuales de Python .

En algún lugar en medio de la ejecución curl https://sdk.cloud.google.com | bash, recibí un error :

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

solución He modificado el 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

y pudo ejecutar la instalación con éxito. Sin embargo, todavía necesito activar mi pyenv que tiene python2comando para ejecutarse gcloud.

porque

Si observa el google-cloud-sdk/install.shscript, verá que en realidad está buscando versiones de Python de una manera muy 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

Sin embargo, en mi máquina python2no apunta al binario de Python, ni devuelve nulo. Entonces la instalación falló.

alisa
fuente
0

Intente hacer este comando en Ubuntu / Linux:

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

Cierre la terminal o abra una nueva ventana como dice el registro:

==> Inicie un nuevo shell para que los cambios surtan efecto.

Una vez que haya terminado, intente instalar cualquier paquete con el comando glcloud:

gcloud components install app-engine-php

No mostrará el error.

Jaymin
fuente
0

En 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 solución propuesta por el siguiente artículo funciona para mí:

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

Verifique mi solución: -bash: gcloud: comando no encontrado en Mac

Frances He
fuente
0

Usando .zsh shellpuede intentar agregar glcouden la lista de complementos en el ~/.zshrcarchivo.

plugins=(
  gcloud
)

Si eso no funciona, intente esto: ( respuesta de Krishna actualizada )

  1. Actualizar el ~/.zshrcarchivo
# 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. Actualice el google-cloud-sdk/path.zsh.incarchivo con lo siguiente
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

* faltaban corchetes dobles en la tercera línea de la respuesta original

Austris Cirulnieks
fuente