在shell中使用像`gem`这样的程序时遇到名称parsing问题

在我的办公室环境中使用我的shell程序(如gem时,名称parsing时遇到问题。

每当程序需要连接到远程主机时,它不能parsing域名,但是在“手动parsing”之后,例如通过digping ,相同的命令将会成功。

基本上,这是我现在要做的事情:

 $ gem install guard-sass ERROR: Could not find a valid gem 'guard-sass' (>= 0), here is why: Unable to download data from https://rubygems.org/ - no such name (https://rubygems.org/latest_specs.4.8.gz) ERROR: Possible alternatives: guard-sass $ ping rubygems.org PING rubygems.org (54.245.255.174): 56 data bytes Request timeout for icmp_seq 0 ^C --- rubygems.org ping statistics --- 3 packets transmitted, 0 packets received, 100.0% packet loss $ gem install guard-sass Fetching: guard-sass-1.3.2.gem (100%) Successfully installed guard-sass-1.3.2 Parsing documentation for guard-sass-1.3.2 Installing ri documentation for guard-sass-1.3.2 1 gem installed $ 

这个问题不是特定于一个命令或编程语言,而是出现在以下任何一个上:

  • gem – 在引擎盖下使用ruby
  • composer – 使用PHP
  • vagrant – 使用ruby
  • brew – 使用ruby
  • git – 使用C

系统:

  • Mac OS X 10.9(在10.8也有相同的问题)
  • zsh的

它不会影响任何使用GUI的浏览器或其他应用程序。

使用同一台机器,其他环境(如家中)不会出现这个问题。

任何想法如何解决这种问题?

跟进:

  • 我在办公室和家里都通过DHCP获得IP地址和DNS服务器地址。
  • 我也尝试使用像Google的8.8.8.8这样的外部DNS服务器。
  • Mac只在办公室和家庭之间转移时才进入睡眠状态(不完全重启)。
  • 我在办公室遇到这个问题时,都尝试使用相同的shell并打开一个新的会话。 还尝试完全重新启动计算机并刷新DNScaching( dscacheutil -flushcache;sudo killall -HUP mDNSResponder )。