I am on a mac and am trying to install the Google Cloud SDK (including the gcloud command line utility) using this command in terminal
curl https://sdk.cloud.google.com | bash
as seen at https://cloud.google.com/sdk/
It got all the way to the end and finished but even after I restarted my shell, the gcloud
command still says it's not found.
Why isn't this installation working?
This question is related to
terminal
installation
google-cloud-storage
google-cloud-platform
gcloud
sudo ./google-cloud-sdk/install.sh
I ran this in the root directory and it worked. I'm running macOS Mojave Version 10.14.3.
This worked for me :
After saying Y
to Modify profile to update your $PATH and enable bash completion? (Y/n)?
Google initiation is prompting this : Enter a path to an rc file to update, or leave blank to use
and the default path was : [/Users/MY_USERSAME/.bash_profile]:
but instead of pressing enter
, I wrote : /Users/MY_USERNAME/.bashrc
to change the path.
This would overwrite the default location that Google suggest.
Then, I only had to do source ~/.bashrc
and everything works now!
Try doing this command on Ubuntu/Linux:
sudo ./google-cloud-sdk/install.sh
Close the terminal or open a new window as the log says:
==> Start a new shell for the changes to take effect.
Once it is done try installing any package by glcloud command:
gcloud components install app-engine-php
It won't show the error.
I know this question has been answered, but here are my two cent. After installing gcloud, you need to restart the shell before you able to gcloud command.
How you do this, mostly depends on the file you keep your shell configuration. Most files are .bashrc_profile
, .bashrc
, .zshrc
.
You can now restart with
source ~/.bashrc_profile
You can replace the file to the file you have.
Or if you don't care the file you have, on Mac or linux you can restart the shell .
exec -l $SHELL
$ sudo su
$ /opt/google-appengine-sdk/bin/gcloud components update
$ su <yourusername>
Same here, I try
source ~/.bashrc
Then, It worked
In short:
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'
The solution proposed by following article works for me:
Referencee: http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html
Check my solution: -bash: gcloud: command not found on Mac
When installing the SDK I used this method:
curl https://sdk.cloud.google.com | bash
When using this method from the original author make sure you have accepted the security preferences in your mac settings to allow apps downloaded from app store and identified developers.
To launch it on MacOs Sierra, after install gcloud I modified my .bash_profile
Original lines:
# 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
updated to:
# 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
Restart the terminal and all become to work as expected!
If running
source ~/.bashrc
results in "No such file or directory"
On windows:
source <pasteCopiedPathHere>
-> for example: source "C:\Users\John\.bashhrc"
In addition to the above answers, depending on your distro, it may be necessary to execute the bash command from the command line before calling your gsutil command. This is the case for distros that have tcsh or other shell as the default. By typing "bash" the source is changed to the .bashrc file and the file is executed.
# Step 1
bash
# Step 2
gsutil
#Step 3: profit!
You have to add the command to the path
Run
brew info --cask google-cloud-sdk
and find the lines to append to ~/.zshrc
The lines to append can be obtained from the output of the previous command. For zsh users, It should be some like these:
export CLOUDSDK_PYTHON="/usr/local/opt/[email protected]/libexec/bin/python"
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"
(or choose the proper ones from the command output depending un the Shell you are using)
I had a very different story here that turned out to be caused by my Python virtual environments.
Somewhere in the middle of running curl https://sdk.cloud.google.com | bash
, I was getting 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
solution I've modified google-cloud-sdk/install.sh
script:
# 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
and was able to run the installation successfully.
However, I still need to activate my pyenv that has python2
command to run gcloud
.
why so
If you look at the google-cloud-sdk/install.sh
script, you'll see that it's actually checking for versions of Python in a very brute manner:
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
However, on my machine python2
doesn't point to Python binary, neither returns null. So the installation crashed.
I found incorrect if-fi
statements in my ~/.bash_profile
(no if condition in the next block)
source '/Users/yorko/google-cloud-sdk/path.bash.inc'
fi
I just had to remove "fi"
and run "source ~/.bash_profile"
to make it work.
If you're a macOS homebrew zsh user:
brew cask install google-cloud-sdk
Update your ~/.zshrc:
plugins=(
...
gcloud
)
I had this issue today, and adding sudo
to the install command
fixed my issue on maxOS Sierra!
sudo ./google-cloud-sdk/install.sh
How to install GCloud and Always Works after Restart On Mac OS HIGH Sierra:
Download install package Here
Achieved file and drop in your folder
Open terminal, go to your folder with file and enter this command:
./google-cloud-sdk/install.sh
"Modify profile to update your $PATH
and enable bash completion?"
Yes
/Users/USERNAME_COMPUTER/.bashrc
After all install, enter this:
source ~/.bashrc
Enter this to check install gcloud:
gcloud - -version
Open new window terminal cmd+n
DONT CLOSE OLD WINDOW and enter in new window gcloud version
if: «command not found» go to step 9
else: Congratulations GCloud work in terminal
Return to old window and enter echo $PATH
and copy path to GCloud
Open BASH_PROFILE:
open ~/.bash_profile
Enter path to new Bash:
« export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
Return to step 8
If you are on MAC OS and using .zsh shell then do the following:
Edit your .zshrc
and add the following
# 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
Create new file named path.zsh.inc
under your home directory(/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
Checkout more @ Official Docs
If you are running ZSH shell in MacOS you should rerun the installation and when you be asked for this question:
Modify profile to update your $PATH and enable shell command
completion?
answer YES
and
Enter a path to an rc file to update, or leave blank to use
[/Users/your_user/.bash_profile]:
answer(your zshrc path): /Users/your_user/.zshrc
Restart Terminal and that's all.
The cause of my installation failure:
install.sh
inserts path.bash.inc
into my .bash_profile
fix:
cd [whereever]/google-cloud-sdk && ./install.sh
vi ~/.bash_profile
path.bash.inc
with path.zsh.inc
os config:
ref:
Using .zsh shell
you can just try to add glcoud
in plugin list in the ~/.zshrc
file.
plugins=(
gcloud
)
If that doesn't work, try this: (updated Krishna's answer)
~/.zshrc
file# 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
google-cloud-sdk/path.zsh.inc
file with followingscript_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
*double square brackets at the third line were missing from the original answer
I had the same problem and it was because the ~/.bash_profile
had invalid fi
statements.
The fix:
sudo nano ~/.bash_profile
fi
statements (the ones missing an opening if
)source ~/.bash_profile
Post installation instructions are not clear:
==> 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.
I had to actually add the following lines of code in my .bash_profile
for gcloud
to work:
source '/.../google-cloud-sdk/completion.bash.inc'
source '/.../google-cloud-sdk/path.bash.inc'
This one worked for me:
source ~/.bash_profile
I'm running zsh and found this gist very helpful: https://gist.github.com/dwchiang/10849350
Edit the ~/.zshrc file to include these two lines:
# 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
This assumes you installed the package in your main directory from the official docs
You just have to execute this command as root
$ curl https://sdk.cloud.google.com | bash
Restart the terminal and that's it. Now all commands should be executed as root
On Mac/Linux, you'll need to enter the following entry in your ~/.bashrc
:
export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
It's worked for me:
I had to source my bash_profile file. To do so,
Now, the gcloud command should work
Source: Stackoverflow.com