简体   繁体   English

-bash:gcloud:在 Mac 上找不到命令

[英]-bash: gcloud: command not found on Mac

I'm following the Quickstart for Mac OS X to install the cloud SDK.我正在按照Mac OS X 的快速入门安装云 SDK。 Following the steps exactly,完全按照步骤,

1) python -V returns "Python 2.7.10" 1) python -V返回“Python 2.7.10”

2) Download and extract using ./install.sh the 64bit version of the SDK in google-cloud-sdk returns... 2) 使用./install.sh下载并解压 google-cloud-sdk 中 64 位版本的 SDK 返回...

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. 3) 我已经重新启动终端并从 google-cloud-sdk 内部运行gcloud init This returns " command not found ."这将返回“ command not found ”。 If I run ls , I see the following directory structure:如果我运行ls ,我会看到以下目录结构:

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 . 4)我也尝试在bin内运行gcloud init ,但遇到同样的问题, 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."我可以从安装指南中看到的唯一其他建议是“在 bash shell 中启用命令完成,和/或启用使用情况报告”。 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.有很多关于command not found的文章,但它们与其他问题有关,例如 gcloud 在一段时间后停止工作或旧版本中的问题。 Has anyone a tip how to get the cloud sdk working?有没有人提示如何让云 sdk 工作?

Thanks谢谢

I had the same issue.我遇到过同样的问题。 A lazy and quick fix for this is to just run:一个懒惰且快速的解决方法是运行:

brew install --cask google-cloud-sdk

Found by googling.通过谷歌搜索找到。

For MAC OS - Use Homebrew对于 MAC 操作系统 - 使用 Homebrew

brew install --cask google-cloud-sdk

and then use然后使用

 source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
 source "$(brew --prefix)/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"

The gcloud executable lives in google-cloud-sdk/bin –to run gcloud. gcloud可执行文件位于google-cloud-sdk/bin中——用于运行 gcloud。 You'll need to either:您需要:

  1. Add this directory to your $PATH .将此目录添加到您的$PATH In particular, adding the line 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.特别是,将行source /Users/shaneoseasnain/Desktop/google-cloud-sdk/path.bash.inc添加到您的.bash_profile文件中( 有关此文件的功能以及如何选择的更多详细信息)将起到作用。
  2. Specify the full path to the gcloud executable when you run it.运行时指定gcloud可执行文件的完整路径。 In your case, this is /Users/shaneoseasnain/Desktop/google-cloud-sdk/bin/gcloud .在您的情况下,这是/Users/shaneoseasnain/Desktop/google-cloud-sdk/bin/gcloud So for example:例如:

     $ /Users/shaneoseasnain/Desktop/google-cloud-sdk/bin/gcloud init

The pertinent part of the quickstart (emphasis added):快速入门的相关部分(已添加重点):

Run the install script to add Cloud SDK tools to your path , enable command-completion in your bash shell, and/or enable usage reporting:运行安装脚本以将 Cloud SDK 工具添加到您的路径,在您的 bash shell 中启用命令完成,和/或启用使用情况报告:

As to why the install script didn't work, I can't say.至于为什么安装脚本不起作用,我不能说。 Please file an issue and we'll investigate.提出问题,我们将进行调查。

Here's on macOS.这是在 macOS 上。 I had the same problem.我有同样的问题。 I got我有

gcloud: command not found gcloud:找不到命令

After running brew install --cask google-cloud-sdk , I found that I have to install it manually.运行brew install --cask google-cloud-sdk后,我发现我必须手动安装它。

  • First, you will find install.sh under directory google-cloud-sdk , and you will run .../google-cloud-sdk/install.sh under the terminal.首先,您会在google-cloud-sdk目录下找到install.sh ,然后在终端下运行.../google-cloud-sdk/install.sh For my case, the file is under /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk就我而言,该文件位于/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk

  • Second, run /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/install.sh二、运行/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/install.sh

  • Third, there will be a message guide you to relaunch your terminal owing to your bash file or zsh file updated.第三,由于您的bash文件或zsh文件已更新,将有一条消息指导您重新启动终端。

  • Fourth, gcloud -v to test if gcloud-cli work normally after you launch a new terminal.第四, gcloud -v测试启动新终端后 gcloud-cli 是否正常工作。

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:以下文章提出的解决方案对我有用:

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

TL;DR - follow the Interactive installer section of Installing Cloud SDK and the SDK will install correctly. TL;DR - 按照安装 Cloud SDK交互式安装程序部分,SDK 将正确安装。

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'.起初,我也遵循了 Mac OS X 的快速入门,以便为“Mac OS X (x86_64) 平台”安装 Google Cloud SDK。 This reproduced the exact same results as Shane outlined in his question above .再现了与Shane在上面的问题中概述的完全相同的结果 Here are some more details:以下是更多细节:

  • Clean install of macOS Sierra 10.12.6 (latest) on a 2017 MacBook Pro.在 2017 MacBook Pro 上全新安装 macOS Sierra 10.12.6(最新)。
  • Google Cloud SDK version 173.0.0.谷歌云 SDK 版本 173.0.0。 Specifically: google-cloud-sdk-173.0.0-darwin-x86_64.tar.gz which is the latest at the time of this writing and the one pointed to by the quickstart guide.具体来说: google-cloud-sdk-173.0.0-darwin-x86_64.tar.gz 这是撰写本文时最新的版本,也是快速入门指南中指出的版本。

I was able to further pinpoint the problem in step 4 of the 'Before you begin' section of Quick Start for Mac OS X:我能够在 Mac OS X 快速入门的“开始之前”部分的第 4 步中进一步查明问题:

Set up the Cloud SDK for use.设置 Cloud SDK 以供使用。 If you're having trouble getting the gcloud command to work, ensure your $PATH is defined appropriately.如果您无法让 gcloud 命令正常工作,请确保您的 $PATH 定义正确。 Run the install script to add Cloud SDK tools to your path, enable command-completion in your bash shell, and/or enable usage reporting:运行安装脚本以将 Cloud SDK 工具添加到您的路径,在您的 bash shell 中启用命令完成,和/或启用使用情况报告:

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

'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. “install.sh”调用“install.py”,它在某些时候调用isatty()以查明安装过程是否从 shell 运行,这意味着它应该是交互式的并提示用户输入一些信息。 For some reason, isatty() returns False instead of True !出于某种原因, isatty()返回False而不是True This causes to script to fall through non-interactively and - because 'install.sh' was invoked without arguments - Fail .这会导致脚本以非交互方式失败,并且 - 因为 'install.sh' 是在没有参数的情况下调用的 - Fail

The following worked for me:以下对我有用:

  • I moved the installer unzipped package to the ~ directory.我将安装程序解压缩包移动到 ~ 目录。
  • And then after running ./google-cloud-sdk/install.sh然后在运行 ./google-cloud-sdk/install.sh 之后
  • I restarted the terminal again and ran 'gcloud init' and it worked.我再次重新启动终端并运行'gcloud init'并且它工作。

Sometimes, after installation, you need just restart your terminal.有时,安装后,您只需要重新启动终端即可。 that's it :)而已 :)

take a look at here: Quickstart for macOS看看这里: macOS 的快速入门

for me that was the fix:对我来说,这就是解决方法:

mkdir -p $sdk_dir/.install/

tl;dr; tl;博士;

It seems that the python library is locating the sdk_root by searching for an .install directory.似乎 python 库通过搜索.install目录来定位sdk_root See the config.py and the definition of CLOUDSDK_STATE_DIR查看config.pyCLOUDSDK_STATE_DIR的定义

It seems like your google-cloud-sdk/bin does not appear in PATH.您的 google-cloud-sdk/bin 似乎没有出现在 PATH 中。

copy your current PATH from:从以下位置复制您当前的 PATH:

echo $PATH

Now add your google-cloud-sdk/bin absolute path to PATH, don't forget to add a colon - ':', before you add your new path, it should be something like this:现在将您的 google-cloud-sdk/bin 绝对路径添加到 PATH,不要忘记添加冒号 - ':',在添加新路径之前,它应该是这样的:

PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/Users/user/google-cloud-sdk/bin

I ran the install and init command from the folder, i kept downloaded SDK.我从文件夹中运行了 install 和 init 命令,我保留了下载的 SDK。 One it installed and initialized, i ran the command with folder name and it worked after that.它安装并初始化了一个,我用文件夹名称运行了命令,然后它就起作用了。 i ran below command from directory where i kept SDK- ./google-cloud-sdk/bin/gcloud我从保存 SDK- ./google-cloud-sdk/bin/gcloud 的目录运行以下命令

Follow these steps:按着这些次序:

  1. Press Command + Space and type Terminal and press enter / return key.Command + Space并键入 Terminal,然后按enter / return键。

  2. Run in Terminal app:在终端应用程序中运行:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null

If the screen prompts you to enter a password, please enter your Mac's user password to continue.如果屏幕提示您输入密码,请输入您的 Mac 用户密码以继续。 When you type the password, it won't be displayed on the screen, but the system would accept it.当您输入密码时,它不会显示在屏幕上,但系统会接受。 So just type your password and press ENTER / RETURN key.所以只需输入您的密码并按ENTER / RETURN键。 Then wait for the command to finish.然后等待命令完成。

  1. Run
brew cask install google-cloud-sdk

Reference:参考:

http://macappstore.org/google-cloud-sdk/ http://macappstore.org/google-cloud-sdk/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM