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

时间:2017-09-10 18:41:51

标签: bash gcloud google-cloud-sdk

我正在关注Quickstart for Mac OS X以安装云SDK。完全按照步骤,

1)python -V返回“Python 2.7.10”

2)在google-cloud-sdk中使用./install.sh 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)我重新启动终端并从google-cloud-sdk内部运行gcloud init。这会返回“command not found”。如果我运行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)我也尝试在gcloud init内运行bin,但遇到同样的问题,command not found

我可以从安装指南中看到的唯一其他建议是“在bash shell中启用命令完成,和/或启用使用情况报告”。我不知道如何做到这一点,但命令完成和报告似乎不应该与此问题相关。有很多关于command not found的文章,但它们与其他问题有关,例如,gcloud在一段时间后停止工作或旧版本出现问题。有没有人提示如何让云sdk工作?

由于

10 个答案:

答案 0 :(得分:41)

我有同样的问题。一个懒惰而快速的解决方法就是运行:

brew cask install google-cloud-sdk

通过谷歌搜索找到。

答案 1 :(得分:8)

gcloud可执行文件位于google-cloud-sdk/bin - 运行gcloud。您需要:

  1. 将此目录添加到$PATH。特别是,将行source /Users/shaneoseasnain/Desktop/google-cloud-sdk/path.bash.inc添加到.bash_profile文件(more detail on what this file does and how to pick one)就行了。
  2. 运行时指定gcloud可执行文件的完整路径。在您的情况下,这是/Users/shaneoseasnain/Desktop/google-cloud-sdk/bin/gcloud。例如:

    $ /Users/shaneoseasnain/Desktop/google-cloud-sdk/bin/gcloud init
    
  3. quickstart的相关部分(强调补充):

      

    运行安装脚本以将Cloud SDK工具添加到您的路径,在您的bash shell中启用命令完成,和/或启用使用情况报告:

    至于为什么安装脚本不起作用,我不能说。请file an issue,我们会进行调查。

答案 2 :(得分:8)

对于 MAC 操作系统 - 使用 Homebrew

brew install --cask google-cloud-sdk

然后使用

 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"

答案 3 :(得分:5)

这是在 MacOS 上。我有同样的问题。我得到了 gcloud: command not found

brew install --cask google-cloud-sdk之后,我发现必须手动安装。

  • 首先会在目录install.sh下找到google-cloud-sdk,然后在终端下运行.../google-cloud-sdk/install.sh。就我而言,该文件位于 /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk

  • 其次,运行/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/install.sh

  • 第三,由于您的 bash 文件或 zsh 文件更新,将会有一条消息指导您重新启动终端。

  • 四、gcloud -v 用于测试 gcloud-cli 在您启动新终端后是否正常工作。

答案 4 :(得分:3)

简而言之:

shell_exec(php /home/user/backend/track.php user_id=$u_id link_id=$l_id user_agent="$agent");

并在开头添加以下行:

emacs -nw ~/.zshrc

以下文章提出的解决方案对我有效:

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

答案 5 :(得分:2)

TL; DR - 按照Installing Cloud SDK交互式安装程序部分进行操作,SDK将正确安装。

但是,我认为这里存在一个真正的问题,与缺少环境变量有关:

首先,我也关注了Quickstart for Mac OS X,以便为“Mac OS X(x86_64)平台”安装Google Cloud SDK。此重现了与上述问题中列出的 Shane 完全相同的结果。以下是一些更多细节:

  • 在2017 MacBook Pro上清洁安装macOS Sierra 10.12.6(最新版)。
  • Google Cloud SDK版本173.0.0。具体来说:google-cloud-sdk-173.0.0-darwin-x86_64.tar.gz这是本文撰写时的最新内容,也是快速入门指南指出的内容。

我能够在Mac OS X快速入门的“开始之前”部分的第4步中进一步查明问题:

  

设置Cloud SDK以供使用。如果您在使用gcloud命令时遇到问题,请确保正确定义$ PATH。运行安装脚本以将Cloud SDK工具添加到路径中,在bash shell中启用命令完成,和/或启用使用情况报告:

     
    

./谷歌云的SDK / install.sh

  

'install.sh'调用'install.py',它在某些时候调用 isatty(),以便确定安装过程是否是从shell运行的,这意味着它应该是交互式的,提示用户提供一些信息。出于某种原因, isatty()返回 False 而不是 True !这会导致脚本通过非交互式和 - 因为'install.sh'被调用而没有参数 - 失败

答案 6 :(得分:2)

以下对我有用:

  • 我将安装程序解压缩包移动到〜目录。
  • 然后运行./google-cloud-sdk/install.sh
  • 我再次重新启动了终端并运行了“gcloud init&#39;它起作用了。

答案 7 :(得分:0)

请按照以下步骤操作:

  1. 按Command + Space,然后键入Terminal,然后按Enter /返回键。

  2. 在终端应用程序中运行:

    红宝石-e“ $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” / dev / null; brew install caskroom / cask / brew-cask 2> / dev / null

如果屏幕提示您输入密码,请输入Mac的用户密码以继续。键入密码时,它不会显示在屏幕上,但是系统会接受它。因此,只需键入您的密码,然后按ENTER / RETURN键。然后等待命令完成。

  1. 运行

    酒桶安装google-cloud-sdk


参考:

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

答案 8 :(得分:0)

有时,安装后,您只需重启终端即可。就这样:)

在这里看看:Quickstart for macOS

答案 9 :(得分:0)

对我来说就是解决方法

mkdir -p $sdk_dir/.install/

tl; dr;

似乎python库通过搜索.install目录来定位 sdk_root 。请参见config.pyCLOUDSDK_STATE_DIR

的定义