I'm following the Quickstart for Mac OS X to install the cloud SDK. Following the steps exactly,
1) python -V
returns "Python 2.7.10"
2) Download and extract using ./install.sh
the 64bit version of the SDK in google-cloud-sdk returns...
Welcome to the Google Cloud SDK!
To help improve the quality of this product, we collect anonymized usage data
and anonymized stacktraces when crashes are encountered; additional information
is available at <https://cloud.google.com/sdk/usage-statistics>. You may choose
to opt out of this collection now (by choosing 'N' at the below prompt), or at
any time in the future by running the following command:
gcloud config set disable_usage_reporting true
Do you want to help improve the Google Cloud SDK (Y/n)? Y
Your current Cloud SDK version is: 170.0.1
The latest available version is: 170.0.1
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Components │
├───────────────┬──────────────────────────────────────────────────────┬──────────────────────────┬───────────┤
│ Status │ Name │ ID │ Size │
├───────────────┼──────────────────────────────────────────────────────┼──────────────────────────┼───────────┤
│ Not Installed │ App Engine Go Extensions │ app-engine-go │ 97.7 MiB │
│ Not Installed │ Cloud Bigtable Command Line Tool │ cbt │ 4.0 MiB │
│ Not Installed │ Cloud Bigtable Emulator │ bigtable │ 3.5 MiB │
│ Not Installed │ Cloud Datalab Command Line Tool │ datalab │ < 1 MiB │
│ Not Installed │ Cloud Datastore Emulator │ cloud-datastore-emulator │ 15.4 MiB │
│ Not Installed │ Cloud Datastore Emulator (Legacy) │ gcd-emulator │ 38.1 MiB │
│ Not Installed │ Cloud Pub/Sub Emulator │ pubsub-emulator │ 33.2 MiB │
│ Not Installed │ Emulator Reverse Proxy │ emulator-reverse-proxy │ 14.5 MiB │
│ Not Installed │ Google Container Local Builder │ container-builder-local │ 3.7 MiB │
│ Not Installed │ Google Container Registry's Docker credential helper │ docker-credential-gcr │ 2.2 MiB │
│ Not Installed │ gcloud Alpha Commands │ alpha │ < 1 MiB │
│ Not Installed │ gcloud Beta Commands │ beta │ < 1 MiB │
│ Not Installed │ gcloud app Java Extensions │ app-engine-java │ 128.1 MiB │
│ Not Installed │ gcloud app PHP Extensions (Mac OS X) │ app-engine-php-darwin │ 21.9 MiB │
│ Not Installed │ gcloud app Python Extensions │ app-engine-python │ 6.5 MiB │
│ Not Installed │ kubectl │ kubectl │ 15.9 MiB │
│ Installed │ BigQuery Command Line Tool │ bq │ < 1 MiB │
│ Installed │ Cloud SDK Core Libraries │ core │ 6.7 MiB │
│ Installed │ Cloud Storage Command Line Tool │ gsutil │ 3.0 MiB │
└───────────────┴──────────────────────────────────────────────────────┴──────────────────────────┴───────────┘
To install or remove components at your current SDK version [170.0.1], run:
$ gcloud components install COMPONENT_ID
$ gcloud components remove COMPONENT_ID
To update your SDK installation to the latest version [170.0.1], run:
$ gcloud components update
==> Source [/Users/shaneoseasnain/Desktop/google-cloud-sdk/completion.bash.inc] in your profile to enable shell command completion for gcloud.
==> Source [/Users/shaneoseasnain/Desktop/google-cloud-sdk/path.bash.inc] in your profile to add the Google Cloud SDK command line tools to your $PATH.
For more information on how to get started, please visit:
https://cloud.google.com/sdk/docs/quickstarts
3) I've restarted the terminal and run gcloud init
from inside google-cloud-sdk. This returns "command not found
." If I run ls
, I see the following directory structure:
LICENSE completion.zsh.inc path.fish.inc
README deb path.zsh.inc
RELEASE_NOTES install.bat platform
VERSION install.sh properties
bin lib rpm
completion.bash.inc path.bash.inc
4) I've tried to run gcloud init
inside bin
as well, but get the same problem, command not found
.
The only other suggestions I can see from the install guide are "enable command-completion in your bash shell, and/or enable usage reporting." I'm not sure how to do this but command completion and reporting don't look like they should be related to this problem. There is a lot written about command not found
but they relate to other problems where, for example, gcloud has stopped working after a while or problems in older versions. Has anyone a tip how to get the cloud sdk working?
Thanks
for me that was the fix:
tl;dr;
It seems that the python library is locating the sdk_root by searching for an
.install
directory. See the config.py and the definition of CLOUDSDK_STATE_DIRThe following worked for me:
In short:
And add following line at the beginning:
The solution proposed by following article works for me:
http://www.javatronic.fr/tips/2014/10/17/installing_google_cloud_sdk_on_ubuntu_with_oh-my-zsh.html
The
gcloud
executable lives ingoogle-cloud-sdk/bin
–to run gcloud. You'll need to either:source /Users/shaneoseasnain/Desktop/google-cloud-sdk/path.bash.inc
to your.bash_profile
file (more detail on what this file does and how to pick one) will do the trick.Specify the full path to the
gcloud
executable when you run it. In your case, this is/Users/shaneoseasnain/Desktop/google-cloud-sdk/bin/gcloud
. So for example:The pertinent part of the quickstart (emphasis added):
As to why the install script didn't work, I can't say. Please file an issue and we'll investigate.
I had the same issue. A lazy and quick fix for this is to just run:
brew cask install google-cloud-sdk
Found by googling.
TL;DR - follow the Interactive installer section of Installing Cloud SDK and the SDK will install correctly.
However, there is a real issue here which I believe is related to missing environment variables:
At first, I followed Quickstart for Mac OS X as well in order to install the Google Cloud SDK for the 'Mac OS X (x86_64) Platform'. This reproduced the exact same results as Shane outlined in his question above. Here are some more details:
I was able to further pinpoint the problem in step 4 of the 'Before you begin' section of Quick Start for Mac OS X:
'install.sh' invokes 'install.py' which at some point calls isatty() in order to find out whether the installation process was run from the shell which means it should be interactive and prompt the user for some information. For some reason, isatty() returns False instead of True! This causes to script to fall through non-interactively and - because 'install.sh' was invoked without arguments - Fail.