16

我正在尝试安装 Google Cloud SDK ( https://cloud.google.com/sdk/docs/quickstart-mac-os-x ) 并收到此错误:
ERROR: (gcloud.components.list) Failed to fetch component listing from server. Check your network settings and try again.

已经尝试更新 OpenSSL 和相应的 Python(也尝试过 Python 2.7.8):

openssl version  
OpenSSL 1.0.2k  26 Jan 2017

python -V
Python 2.7.13

Python 也在使用这个 OpenSSL 版本:

>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2k  26 Jan 2017'

我在跑mac OS 10.12.4

我也尝试过brew cask install google-cloud-sdk有效地下载普通版本并执行 install.sh 脚本。结果相同。

进一步调试显示,它无法加载https://dl.google.com/dl/cloudsdk/channels/rapid/components-2.json并抛出此错误:URLError: <urlopen error timed out>. 通过 Python 直接加载此文件有效:

urllib2.urlopen('https://dl.google.com/dl/cloudsdk/channels/rapid/components-2.json')

有任何想法吗?还有任何提示如何进一步调试,将不胜感激:)

4

3 回答 3

54

关闭 ipv6 支持后,该工具就像一个魅力。看起来gcloud不能与ipv6正常工作......

禁用 ipv6:

networksetup -setv6off Wi-Fi

启用 ipv6:

networksetup -setv6automatic Wi-Fi

注意:在调查此问题时,我还能够通过使用非常长的超时时间(120 秒)使其工作。但是,这对于大多数用例来说是不切实际的,因为它会为每个命令引入长时间的延迟。

超时位于google-cloud-sdk/lib/googlecloudsdk/core/updater/installers.py第 36 行,称为TIMEOUT_IN_SEC

于 2017-05-20T23:16:55.790 回答
3

禁用 IPV6:

sysctl net.ipv6.conf.all.disable_ipv6=1
于 2020-04-30T17:07:32.777 回答
0

禁用 ipv6 对我不起作用。在让它工作之前我尝试了很多东西。在遇到问题之前,我升级到了 mojave OSX。

我更新了这里提到的mac头文件:

open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg

重新启动然后重新安装python2: brew reinstall python2

此时问题仍然存在,决定重新安装 gcloud 并遇到这个问题:我使用的是 zsh,所以我添加了以下内容.zshrc

source <PATH to gcloud sdk>/google-cloud-sdk/path.zsh.inc
source <PATH to gcloud sdk>/google-cloud-sdk/completion.zsh.inc

对于 bash:

source <PATH to gcloud sdk>/google-cloud-sdk/path.bash.inc
source <PATH to gcloud sdk>/google-cloud-sdk/completion.bash.inc`

然后gcloud init让我重置了一些代理配置,这可能是一开始的主要问题。

于 2019-07-18T13:16:40.570 回答