gem install返回FloatDomainError Infinity或NaN

时间:2011-01-14 15:06:49

标签: ubuntu proxy rubygems

在Ubuntu 10.10上,我无法安装任何宝石!

$ sudo gem install rails
ERROR:  http://rubygems.org/ does not appear to be a repository
ERROR:  Could not find a valid gem 'rails' (>= 0) in any repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    too many connection resets (http://rubygems.org/latest_specs.4.8.gz)

好的,所以代理就是这样: -

$ sudo gem install -p http://username:password@the.proxy.com:8080 rails 
ERROR:  While executing gem ... (FloatDomainError)
    NaN
Fetching: activesupport-3.0.3.gem(1)

1)这是它将光标返回到的地方,而不是新行?!它也会在下面的每个电话中执行此操作。

与另一个宝石相同: -

$ sudo gem install --http-proxy=http://username:password@proxy:8080 twitter
ERROR:  While executing gem ... (FloatDomainError)
    NaN
Fetching: hashie-0.4.0.gem

我也试过了-p!

但我的http_proxy env var设置正确: -

$ env | grep http
http_proxy=http://username:password@proxy.com:8080

像这样的东西有效: -

$ gem list -r rails

*** REMOTE GEMS ***

rails (3.0.3)
rails-action-args (0.1.1)
rails-admin (0.0.0)
rails-app-installer (0.2.0)
rails-app-spec (0.3.2)
...

所有apt-get& curl命令都没有问题。

版本: -

$ ruby -v
ruby 1.8.7 (2010-06-23 patchlevel 299) [i686-linux]

$ which ruby
/usr/bin/ruby
$ whereis ruby
ruby: /usr/bin/ruby1.8 /usr/bin/ruby /usr/lib/ruby /usr/share/man/man1/ruby.1.gz

$ rvm list

rvm rubies

   ree-1.8.7-2010.02 [ i386 ]
   ruby-1.9.2-p136 [ i386 ]

$ rvm -v
rvm 1.2.2 by Wayne E. Seguin (wayneeseguin@gmail.com) [http://rvm.beginrescueend.com/]

$ gem -v
1.4.2

$ which gem
/usr/bin/gem
$ whereis gem
gem: /usr/bin/gem /usr/bin/gem1.8 /usr/share/man/man1/gem.1.gz

任何帮助/想法?

3 个答案:

答案 0 :(得分:0)

尽量不要使用Ruby或RubyGems的Ubuntu包。理想情况下,使用apt-get uninstall删除这些包,并从头开始使用rvm(Ruby版本管理器)。

使用rvm时,通常最好在本地安装gem(例如,不要使用sudo和系统范围的安装)。

关于这一切的一个很好的记录是Ryan Bigg的博文Ubuntu, Ruby, RVM, Rails, and You

答案 1 :(得分:0)

我们在公司网关背后有类似的问题。它在酒店的WiFi上运行良好。我的猜测是公司网关上的病毒扫描。

答案 2 :(得分:0)

这似乎是RubyGems 1.4.2中的一个错误。有关详细信息,请参阅此GemCutter Help page

如果您想尝试修复此问题的主干的最新版本,请随时从源代码检出Rubygems并手动安装:

$> git clone https://github.com/rubygems/rubygems.git
$> cd rubygems
$> ruby setup.rb
$> gem env  // You should see RubyGems 1.5.0 or something similar if you've installed it
$> gem update // or `gem install` or whatever you want to test out