当尝试安装gem时,我在尝试从production.s3.rubygems.org获取specs文件时遇到“Bad Request 400”错误。所有Ruby和Rubygems版本的问题都是一样的。
系统在VMWare ESX托管的Ubuntu 10.10上运行,在NAT交换机后面有桥接网络(Linux - > ESX - > Intranet - > NAT)。我有一个相同的系统在类似网络上的不同ESX上运行,运行正常(Linux - > ESX - > Intranet - >透明企业防火墙+代理)。 Apt-get和其他网络正常工作。
有没有办法解决这个问题,还是我必须手动下载所有宝石?
# ping production.s3.rubygems.org
PING s3-1-w.amazonaws.com (72.21.202.165) 56(84) bytes of data.
64 bytes from 72.21.202.165: icmp_req=1 ttl=242 time=139 ms
# gem install -V nokogiri
GET http://rubygems.org/latest_specs.4.8.gz
302 Found
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
400 Bad Request
HEAD http://rubygems.org/specs.4.8.gz
302 Found
HEAD http://production.s3.rubygems.org/specs.4.8.gz
400 Bad Request
HEAD http://rubygems.org/yaml
302 Found
HEAD http://production.s3.rubygems.org/yaml
400 Bad Request
ERROR: http://rubygems.org/ does not appear to be a repository
Error fetching remote data: bad response Bad Request 400 (http://production.s3.rubygems.org/yaml)
Falling back to local-only install
ERROR: Could not find a valid gem 'nokogiri' (>= 0) in any repository
答案 0 :(得分:0)
解决:
1)下载并将http://production.s3.rubygems.org/specs.4.8.gz复制到主机自己的www-root
2)将127.0.0.1 production.s3.rubygems.org添加到/ etc / hosts