0

尝试安装 gems 时,当它尝试从 production.s3.rubygems.org 获取规范文件时遇到“错误请求 400”错误。所有 Ruby 和 Rubygems 版本的问题都是一样的。

该系统在 VMWare ESX 托管的 Ubuntu 10.10 上运行,在 NAT 交换机(Linux -> ESX -> Intranet -> NAT)后面有桥接网络。我有一个相同的系统在运行正常的类似网络(Linux -> ESX -> Intranet -> 透明企业防火墙+代理)上的不同 ESX 上运行。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
4

1 回答 1

0

解决了:

1) 下载并复制http://production.s3.rubygems.org/specs.4.8.gz到主机自己的 www-root

2) 将 127.0.0.1 production.s3.rubygems.org 添加到 /etc/hosts

于 2011-03-29T07:28:23.720 回答