anthoscli 在 Apple Silicon / Big Sur 上安装 Google Cloud SDK 时出错

anthoscli ERROR on installing Google Cloud SDK on Apple Silicon / Big Sur

我已经搜索了几个星期的解决方案。几周前,我收到了配备 Apple Silicon 处理器并安装了 Big Sur 的新款 MacBook Pro。当我尝试安装 Google Cloud SDK 时,因为我的工作需要它,我遇到了第一个问题。我打开终端并使用 "curl https://sdk.cloud.google.com | bash" 开始安装。

收到问题后,如果我想帮助改进 Google Cloud SDK 并点击 'N',就会出现此错误。另外当我点击 'Y'...

ERROR: (gcloud.components.update) The following components are unknown [anthoscli].

在互联网上我找不到关于此错误的信息。我在 anthoscli 上唯一发现的是,我认为它与 Kubernetes and/or Docker 有关。所以我尝试先安装 Docker,只是它们还没有为 Apple Silicon 准备好...

我无法想象自己是唯一一个遇到这个问题的人所以我希望这里有人能进一步帮助我。

请按照以下Google Cloud SDK Installation Documentation中提到的步骤在 MacOS 上安装 Google Cloud SDK:

  1. Cloud SDK 需要 Python。请按照下一个 documentation 了解如何选择和配置您的 Python 解释器

  2. Google Cloud SDK Documentation 下载 MacOS 软件包。

2.1) 将存档解压缩到文件系统上的任何位置。在 macOS 上,这可以通过在首选位置打开下载的 .tar.gz 存档文件来实现。

2.2) 可选。使用安装脚本将 Cloud SDK 工具添加到您的路径 -->

 ./google-cloud-sdk/install.sh

2.3) 关闭并打开一个新的终端以使更改生效。

2.4) 运行 gcloud init 初始化SDK:

./google-cloud-sdk/bin/gcloud init

据我所知,您已使用 Google Cloud SDK Installer 在 MacOS 上安装 Google Cloud SDK。请再次尝试按照以下步骤使用安装程序安装 Google Cloud SDK:

  1. 在命令提示符处输入以下内容:
   curl https://sdk.cloud.google.com | bash
  1. 重启你的 shell:
exec -l $SHELL
  1. 运行 gcloud init 初始化gcloud环境:
gcloud init

如果您想通过交互式安装程序安装 Google Cloud SDK,并且出现上述错误,您可以创建一个 issue on Google's Public Issue Tracker for further investigation. However also please try to install the Google Cloud SDK 而不是我之前提到的安装程序。

我通过在 Rosetta 2 下安装来安装 gcloud。

curl https://sdk.cloud.google.com > install.sh
chmod +x install.sh
arch -x86_64 install.sh --disable-prompts
# restart shell
gcloud help

我认为 Apple 没有很好地宣传此功能,因为我只是在随机的 Hacker News 线程中发现它。我已经多次使用这个策略并将其添加到我的 shell 的 rc 文件中。

x86() {
    arch -x86_64 
}
x86 install.sh --disable-prompts

这是一个已知问题“Apple Silicon Installer does not exist

上述 link 的解决方法是:

  1. 尝试安装:curl https://sdk.cloud.google.com | bash
  2. 运行 安装程序手动使用上面的文件安装失败 ./google-cloud-sdk/bin/gcloud components install core gsutil
  3. 重新运行初始化:./google-cloud-sdk/bin/gcloud init

我刚刚在 Apple M1 MBP Big Sur 11.1 上测试过,它适合我。

已关注 mager.co blogpost-How to install gcloud on an M1 Mac

完整步骤如下:

  1. 先安装自制包管理

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

  2. 安装Python 3.9.1 使用pyenv

    brew install pyenv
    pyenv install 3.9.1
    pyenv global 3.9.1
    
  3. 设置一个环境变量,让 gcloud 安装程序知道要使用哪个版本的 Python:

    export CLOUDSDK_PYTHON=python3

  4. 下载SDK并开始安装,我运行进入ERROR 以下组件未知[anthoscli, kube运行]:

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

  5. 因此手动 运行 install.sh 脚本

    cd ~/google-cloud-sdk
    ./install.sh --override-components core gcloud-deps bq gcloud gsutil
    

安装 Google Cloud SDK 的最简单方法是使用 homebrew,但 Homebrew 还没有适用于 M1 的 arm64 变体。尽管如此,我还是概述了在 M1 Macs 上安装和使用它的步骤:

1。正在安装 gcloud SDK

在您的 M1 Mac 上 installing your Homebrew 之后,在您的 Rosetta 终端中,运行 以下命令:

brew install --cask google-cloud-sdk

2。将 gcloud 链接到 $PATH

安装 Homebrew 后,您需要将其添加到您的路径中。在最后几行中,它将向您显示设置源的路径:

根据上面的屏幕截图,我必须 运行 以下内容才能在我的 $PATH 中设置命令:

source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc
source /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc

3。使用 gcloud

链接后,您可以在终端中使用 gcloud 命令:

gcloud -v

4。已过时 Python

如果您的 python 已过时(参见 Google Cloud SDK Requirements),您可以使用 Homebrew 通过 运行ning 更新它:

brew upgrade

您可以在列出 Homebrew 软件包时查看 python 版本:

brew outdated

当你有 MAC M1 芯片时会发生这种情况,因此你可能需要为此手动安装我选择使用 Google 给定的方法

muhasan@Admins-MacBook-Pro ~ % curl https://sdk.cloud.google.com | bash

输出:

For the latest full release notes, please visit:
  https://cloud.google.com/sdk/release_notes

╔════════════════════════════════════════════════════════════╗
╠═ Creating update staging area                             ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: BigQuery Command Line Tool                   ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: BigQuery Command Line Tool (Platform Spec... ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: Cloud Storage Command Line Tool              ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: Cloud Storage Command Line Tool (Platform... ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: Default set of gcloud commands               ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: Google Cloud CLI Core Libraries (Platform... ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: anthoscli                                    ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: anthoscli                                    ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Installing: gcloud cli dependencies                      ═╣
╠════════════════════════════════════════════════════════════╣
╠═ Creating backup and activating new installation          ═╣
╚════════════════════════════════════════════════════════════╝

Performing post processing steps...done.                                                                                                                                                                                                     

Update done!