gcloud/gsutil命令报错dns.name.EmptyLabel:DNS标签为空的解决方法
解决gcloud/gsutil切换网络后执行失败的问题
你遇到的问题我之前也碰到过——在macOS 10.13.3(High Sierra)环境下,切换有线/无线网络(甚至无诱因)时,gcloud或gsutil命令会抛出堆栈跟踪错误,比如你提供的这段:
Traceback (most recent call last): File "/Users/USER_HOME/google-cloud-sdk/bin/bootstrapping/gsutil.py", line 12, in <module> import bootstrapping File "/Users/U...
下面是几个亲测有效的解决步骤,按顺序试试:
重置gcloud代理配置:切换网络后,旧的代理设置大概率会残留导致连接失败,执行命令强制使用直连:
gcloud config set proxy/type direct如果之前手动设置过代理,也可以用
gcloud config unset proxy/address和gcloud config unset proxy/port彻底清除代理相关配置。清除gcloud缓存并重新认证:缓存文件损坏或过期是这类问题的常见诱因,先撤销现有认证:
gcloud auth revoke --all然后重新登录账号:
gcloud auth login嫌麻烦的话,也可以手动删除
~/.config/gcloud目录下的缓存文件(记得先备份重要配置)。更新Google Cloud SDK到最新版本:旧版本的SDK可能存在网络适配bug,执行更新命令:
gcloud components update如果更新过程中也报错,直接去官网下载最新版SDK重新安装更稳妥。
检查系统网络环境:
- 暂时关闭可能拦截网络的工具(比如Little Snitch、VPN等),看看是否恢复正常;
- 尝试切换系统DNS到公共DNS(比如8.8.8.8/8.8.4.4),排除DNS解析问题;
- 重启终端或整个系统,清除残留的网络环境变量。
手动重置终端网络变量:有时候终端会残留旧的HTTP/HTTPS代理变量,执行以下命令清除:
unset HTTP_PROXY HTTPS_PROXY http_proxy https_proxy
如果以上方法都不行,建议彻底卸载现有SDK后重新安装,安装过程中注意不要被系统安全工具拦截。
内容的提问来源于stack exchange,提问作者dboshardy
相关产品推荐
相关产品推荐

