【问题标题】:Google Cloud SDK install on OS X: (gcloud.components.list) Failed to fetch component listing from server在 OS X 上安装 Google Cloud SDK:(gcloud.components.list) 无法从服务器获取组件列表
【发布时间】:2017-10-20 14:28:09
【问题描述】:

我正在尝试安装 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')

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

【问题讨论】:

    标签: python macos google-cloud-sdk


    【解决方案1】:

    关闭 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

    【讨论】:

    • ipv6 也是我的问题。 2017 MBP 关于 Sierra。
    • 这太神奇了!你怎么知道它在 ipv6 上不能正常工作?
    • 谢谢。请注意,除非您禁用 ipv6,否则在 macOS Sierra 上,进一步的 gcloud 操作也非常缓慢。为了澄清上述内容,Dimitri 在这里显示的两个 networksetup 操作是禁用 (setv6off) 然后重新启用 (setv6automatic) ipv6。不要两者都做,否则你只会将其关闭再打开。
    • 您可以修改此答案以弃用超时建议吗?禁用 ipv6 是真正的解决方案,今天仍然适用(WTF Google?!),应该是答案。
    • 不,禁用 IP6 对我不起作用 :(。一定有其他原因。
    【解决方案2】:

    禁用 IPV6:

    sysctl net.ipv6.conf.all.disable_ipv6=1
    

    【讨论】:

    • 这解决了我在 (Debian) Linux 上的问题。我得到了虚假但非常频繁的错误,包括ServerNotFoundErrorsocket.gaierror: [Errno -5] No address associated with hostname 等。
    【解决方案3】:

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

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

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

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

    此时问题依旧,决定重装gcloud,遇到this: 我使用的是 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 让我重置了一些代理配置,这可能是一开始的主要问题。

    【讨论】:

      猜你喜欢
      • 2018-01-14
      • 2016-06-14
      • 1970-01-01
      • 1970-01-01
      • 2021-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多