【问题标题】:gcloud command not found - while installing Google Cloud SDK未找到 gcloud 命令 - 安装 Google Cloud SDK 时
【发布时间】:2015-09-11 06:55:31
【问题描述】:

我在 Mac 上,正在尝试在终端中使用此命令安装 Google Cloud SDK(包括 gcloud 命令行实用程序)

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

https://cloud.google.com/sdk/所见

它一直到最后并完成,但即使我重新启动了我的 shell,gcloud 命令仍然说它没有找到。

为什么这个安装不起作用?

【问题讨论】:

  • 您使用的是哪个外壳?安装程序提示更新您的 .bashrc 文件,但(还)不能与 zsh 或其他 shell 一起使用。安装程序中的 zsh 支持即将推出。当安装程序提示Modify profile to update your $PATH and enable bash completion? (Y/n)? 时,您是否回答了y
  • 其实是的,我看到了,但它实际上并没有提示我。它没有等待我的回应,所以我没有说“是”。因此,安装程序没有执行该步骤。我想知道现在如何进行更永久的修复,因为我的修复似乎只工作了一次,我今天不得不再次修复它。有什么建议吗?
  • 其实我这次只是重新安装了它,提示成功了,所以现在我一切都好。谢谢
  • 当我安装 gcloud 时,安装修改了配置文件(例如 ~/.bash_profile),但它无法重新加载它。运行source ~/.bash_profile 修复了它。
  • 在 nicks notes 之后,我改为运行 source ~/.bashrc,它似乎为我解决了这个问题,因为我没有 bash_profile。

标签: terminal installation google-cloud-storage google-cloud-platform gcloud


【解决方案1】:

所以下面是我之前对这个问题的修复,但事实证明它不是永久性的。它可以工作,但每次重新启动终端时,你都必须做同样的事情,这是不切实际的。

这就是为什么我建议你删除当前的 google-cloud-sdk 目录,然后重新安装。确保(正如 Zachary 所提到的)对提示 Modify profile to update your $PATH and enable bash completion? (Y/n) 回答是 (Y)。

这是我的旧答案,但只需重做安装:

我遇到了同样的问题,gcloud 不适合我。但是,在与我刚刚安装的google-cloud-sdk 文件夹(我的home 目录)相同的目录中,我发现了这个名为test 的文件。在这个test 文件中,我发现了两个命令:

# 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'

在终端中运行这两个source 命令后,gcloud 工作了!

【讨论】:

  • 对于zsh,有对应的path.zsh.inccompletion.zsh.inc文件。
  • 很好的答案。这让我免于头痛。
  • 好吧,就我而言,我只是忘记在安装后关闭并打开终端窗口....希望这对任何人都有帮助:D
  • 很遗憾,在最新的 install.sh 中这已经不是问题了
  • 当前 gcloud 安装包不知何故分叉了这一步。
【解决方案2】:

我必须获取我的 bash_profile 文件。为此,

  1. 打开终端会话。
  2. 在该会话类型中: source .bash_profile 然后回车

现在,gcloud 命令应该可以工作了

【讨论】:

    【解决方案3】:

    同样的,我试试

    source ~/.bashrc
    

    然后,它起作用了

    【讨论】:

    • 没有这样的文件或目录
    • 源 ~/.zshrc for macOS CATALINA
    【解决方案4】:

    我在我的~/.bash_profile 中发现了不正确的if-fi 语句 (下一个块中没有 if 条件)

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

    fi

    我只需要删除 "fi" 并运行 "source ~/.bash_profile" 即可使其工作。

    【讨论】:

      【解决方案5】:

      我遇到了同样的问题,这是因为 ~/.bash_profilefi 语句无效。

      修复:

      1. 执行命令sudo nano ~/.bash_profile
      2. 删除了关闭 fi 语句(缺少打开 if 的语句)
      3. 保存 .bash_profile 更改
      4. 执行命令source ~/.bash_profile

      【讨论】:

        【解决方案6】:
        $ sudo su
        $ /opt/google-appengine-sdk/bin/gcloud components update
        $ su <yourusername>
        

        【讨论】:

          【解决方案7】:

          这个对我有用:

          source ~/.bash_profile
          

          【讨论】:

          • 也为我工作
          • 首先是export PATH="/usr/lib/google-cloud-sdk/bin:$PATH",然后是上面的这个命令。
          【解决方案8】:

          这对我有用:

          在说YModify profile to update your $PATH and enable bash completion? (Y/n)?之后

          Google 启动提示:Enter a path to an rc file to update, or leave blank to use,默认路径是:[/Users/MY_USERSAME/.bash_profile]:,但我没有按enter,而是写了:/Users/MY_USERNAME/.bashrc 来更改路径。

          这将覆盖 Google 建议的默认位置。

          然后,我只需要做source ~/.bashrc,现在一切正常!

          【讨论】:

          • 这解决了我的问题。我正在输入 ~/.bash_profile 并且安装没有更新路径,但也没有输出错误。
          【解决方案9】:

          在 Mac/Linux 上,您需要在 ~/.bashrc 中输入以下条目:

          export PATH="/usr/lib/google-cloud-sdk/bin:$PATH"
          

          【讨论】:

          • 它也适用于 mac。需要设置 PATH 变量。
          • @ParthBhoiwala 感谢您告诉我,我已经更新了答案。 :)
          • 只回答使用新版本,没有“将变量添加到路径”提示。
          • 这个对我有用。我的安装没有自行更新 .bashrc。
          • 在我的例子中,它是export PATH="$HOME/google-cloud-sdk/bin:$PATH",因为我已经在我的主目录中安装了 SDK 文件夹。
          【解决方案10】:

          如果运行

          source ~/.bashrc
          

          导致“没有这样的文件或目录”

          在窗户上:

          1. 转到 c/Users/
          2. 按住 shift 的同时,右键单击 .bashrc 文件并选择“复制为路径”
          3. 在 bash 中:source &lt;pasteCopiedPathHere&gt; -> 例如:source "C:\Users\John\.bashhrc"

          【讨论】:

            【解决方案11】:

            安装后说明不清楚:

            ==> 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.
            

            我必须在我的.bash_profile 中添加以下代码行才能使gcloud 工作:

            source '/.../google-cloud-sdk/completion.bash.inc'
            source '/.../google-cloud-sdk/path.bash.inc'
            

            【讨论】:

              【解决方案12】:

              我今天遇到了这个问题,将 sudo 添加到 install command 解决了我在 maxOS Sierra 上的问题!

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

              【讨论】:

              • 这是在 Sierra 上唯一对我有帮助的东西 - 其他答案都不起作用。
              • 这也解决了我在 macOS v10.13 "High Sierra" 上的问题
              • 当安装程序要求使用你的文件 bash 时,你需要放置 .zshrc。所以你需要这样写一些:/Users/YOU-NAME-USER/.zshrc
              【解决方案13】:

              我正在运行 zsh,发现这个要点很有帮助:https://gist.github.com/dwchiang/10849350

              编辑 ~/.zshrc 文件以包含这两行:

              # 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
              

              这假设您从official docs 将软件包安装在您的主目录中

              【讨论】:

                【解决方案14】:

                现在在Mac OS 中运行install.sh 后,谷歌自己提供了运行completion.bash.incpath.bash.inc 的信息。

                如果您使用的是zsh 终端,它会要求您运行completion.zsh.incpath.zsh.inc。请看下图

                【讨论】:

                  【解决方案15】:

                  您只需以 root 身份执行此命令

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

                  重启终端就可以了。现在所有命令都应该以root身份执行

                  【讨论】:

                    【解决方案16】:

                    我知道这个问题已经得到解答,但这是我的两分钱。 安装 gcloud 后,您需要重新启动 shell 才能使用 gcloud 命令。

                    您如何执行此操作,主要取决于您保存 shell 配置的文件。大多数文件是.bashrc_profile.bashrc.zshrc

                    您现在可以使用

                    重新启动

                    source ~/.bashrc_profile

                    您可以将文件替换为您拥有的文件。

                    或者如果你不关心你拥有的文件,在 Mac 或 linux 上你可以重新启动 shell。

                    exec -l $SHELL

                    【讨论】:

                      【解决方案17】:

                      在安装 SDK 时我使用了这种方法:

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

                      使用原作者提供的此方法时,请确保您已接受 Mac 设置中的安全首选项,以允许从应用商店和已识别的开发者下载应用。

                      【讨论】:

                      • 这很有帮助。谢谢!
                      • 我必须在前面添加 sudo
                      【解决方案18】:

                      如何在 Mac OS HIGH Sierra 上安装 GCloud 并在重启后始终运行:

                      1. 下载安装包 Here

                      2. 已完成文件并放入您的文件夹中

                      3. 打开终端,进入你的文件夹,输入以下命令:

                         ./google-cloud-sdk/install.sh
                        
                      4. “修改配置文件以更新您的$PATH 并启用 bash 完成?”
                        是的

                      5. 输入此路径进行修改:
                        /Users/USERNAME_COMPUTER/.bashrc
                      6. 全部安装后,输入:

                          source ~/.bashrc
                        
                      7. 输入这个来检查安装 gcloud:

                        gcloud--版本

                      8. 打开新窗口终端cmd+n 不要关闭旧窗口并在新窗口中输入gcloud version

                        如果:«command not found»转到步骤 9

                        else: 恭喜 GCloud 在终端工作

                      9. 返回旧窗口输入echo $PATH 并将路径复制到 GCloud

                      10. 打开 BASH_PROFILE:

                        open ~/.bash_profile
                        
                      11. 输入新 Bash 的路径:

                        « export PATH="/Users/USERNAME_COMPUTER/google-cloud-sdk/bin:$PATH" »
                        
                      12. 返回步骤 8

                      【讨论】:

                      • 非常感谢这对您有帮助:)
                      【解决方案19】:

                      如果你在 MacOS 中运行 ZSH shell,你应该重新运行安装,当你被问到这个问题时:

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

                      回答YES

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

                      回答(你的 zshrc 路径):/Users/your_user/.zshrc

                      重启终端即可。

                      【讨论】:

                        【解决方案20】:

                        要在 MacOs Sierra 上启动它,安装 gcloud 后我修改了我的 .bash_profile

                        原句:

                        # 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
                        

                        更新为:

                        # 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
                        

                        重启终端,一切都按预期工作了!

                        【讨论】:

                          【解决方案21】:
                          sudo ./google-cloud-sdk/install.sh
                          

                          我在根目录中运行它并且它工作。我正在运行 macOS Mojave 版本 10.14.3。

                          【讨论】:

                            【解决方案22】:

                            我在这里有一个非常不同的故事,结果证明是由我的 Python 虚拟环境引起的。

                            在运行curl https://sdk.cloud.google.com | bash 的过程中,我收到错误

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

                            解决方案我修改了google-cloud-sdk/install.sh脚本:

                            # 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
                            

                            并且能够成功运行安装。 但是,我仍然需要激活具有python2 命令的pyenv 才能运行gcloud

                            为什么会这样

                            如果您查看google-cloud-sdk/install.sh 脚​​本,您会发现它实际上是在以一种非常粗暴的方式检查 Python 的版本:

                            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
                            
                            

                            但是,在我的机器上,python2 没有指向 Python 二进制文件,也没有返回 null。所以安装崩溃了。

                            【讨论】:

                              【解决方案23】:

                              尝试在 Ubuntu/Linux 上执行此命令:

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

                              如日志所示,关闭终端或打开一个新窗口:

                              ==> 启动一个新的 shell 以使更改生效。

                              完成后尝试通过 glcloud 命令安装任何软件包:

                              gcloud components install app-engine-php
                              

                              它不会显示错误。

                              【讨论】:

                                【解决方案24】:

                                如果您在 MAC OS 上并使用 .zsh shell,请执行以下操作:

                                1. 编辑您的.zshrc 并添加以下内容

                                  # 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. 在你的主目录(/Users/USER_NAME/)下创建一个名为path.zsh.inc的新文件:

                                  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
                                  

                                结帐更多@Official Docs

                                【讨论】:

                                  【解决方案25】:

                                  简而言之:

                                  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'
                                  

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

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

                                  检查我的解决方案: -bash: gcloud: command not found on Mac

                                  【讨论】:

                                    【解决方案26】:

                                    使用.zsh shell,您可以尝试在plugin list 中添加glcoud ~/.zshrc 文件。

                                    plugins=(
                                      gcloud
                                    )
                                    

                                    如果这不起作用,试试这个:(更新 Krishna's 答案)

                                    1. 更新~/.zshrc 文件
                                    # 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. 使用以下内容更新google-cloud-sdk/path.zsh.inc 文件
                                    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
                                    

                                    *原始答案中缺少第三行的双方括号

                                    【讨论】:

                                      【解决方案27】:

                                      除了上述答案之外,根据您的发行版,可能需要在调用 gsutil 命令之前从命令行执行 bash 命令。对于将 tcsh 或其他 shell 作为默认值的发行版来说就是这种情况。通过键入“bash”,源将更改为 .bashrc 文件并执行该文件。

                                      # Step 1
                                      bash
                                      # Step 2
                                      gsutil 
                                      #Step 3: profit!
                                      

                                      【讨论】:

                                        【解决方案28】:

                                        你必须将命令添加到路径

                                        运行

                                        brew info --cask google-cloud-sdk

                                        并找到要附加到~/.zshrc的行

                                        可以从上一个命令的输出中获取要附加的行。对于 zsh 用户,应该是这样的:

                                        export CLOUDSDK_PYTHON="/usr/local/opt/python@3.8/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"
                                        

                                        (或根据您使用的 Shell 从命令输出中选择正确的)

                                        【讨论】:

                                        • 此细微差别在gcloud brew page 上指定。虽然我不确定是否需要导出 CLOUDSDK_PYTHON 变量
                                        • 非常有帮助。谢谢
                                        【解决方案29】:

                                        如果您是 macOS 自制 zsh 用户:

                                        1. brew cask install google-cloud-sdk

                                        2. 更新你的 ~/.zshrc:

                                        plugins=(
                                          ...
                                          gcloud
                                        )
                                        
                                        1. 打开新外壳。

                                        【讨论】:

                                          【解决方案30】:

                                          我安装失败的原因:

                                          • 我正在运行一个 zsh 终端,install.shpath.bash.inc 插入到我的 .bash_profile

                                          修复:

                                          1. cd [whereever]/google-cloud-sdk &amp;&amp; ./install.sh
                                          2. vi ~/.bash_profile
                                          3. path.bash.inc 的所有实例替换为path.zsh.inc

                                          操作系统配置:

                                          • macOS 卡塔利娜
                                          • zsh

                                          参考:

                                          【讨论】:

                                            猜你喜欢
                                            • 2020-03-07
                                            • 1970-01-01
                                            • 2017-07-30
                                            • 2015-09-14
                                            • 2016-01-14
                                            • 1970-01-01
                                            • 1970-01-01
                                            • 2015-07-14
                                            • 2022-11-11
                                            相关资源
                                            最近更新 更多