强制RubyGems使用HTTP

我一直试图解决这样一个事实:在2.9GHz Intel Core 7 MacBook Pro上, gem install速度非常慢。

我应用了我在互联网上找到的解决方案:

 https://stackoverflow.com/questions/1887704/gem-is-very-slow http://buddingrubyist.wordpress.com/2009/02/14/how-to-speed-up-gem-installs-10x/ 

然而他们对我没有任何影响。 一些post包括这一篇( ruby-bundle install / update太慢 ,首先评论us​​er1189762的答案)说RubyGems从HTTPS获取时速度较慢。

这是我的.gemrc

 --- gem: --no-ri --no-rdoc benchmark: false verbose: true update_sources: true sources: - http://gems.rubyforge.org/ - http://rubygems.org/ backtrace: true bulk_threshold: 1000 

我的sources都使用http ,但是如果进行详细的安装,我得到:

 $ sudo gem install rack -V Password: GET https://rubygems.org/latest_specs.4.8.gz 302 Moved Temporarily GET https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz 200 OK GET https://rubygems.org/quick/Marshal.4.8/rack-1.5.2.gemspec.rz 302 Moved Temporarily GET https://s3.amazonaws.com/production.s3.rubygems.org/quick/Marshal.4.8/rack-1.5.2.gemspec.rz 200 OK Installing gem rack-1.5.2 

所有请求都是使用https

无论如何强制在gemrc http ? 这是我的瓶颈吗?

.gemrc未应用,因为它存在于您的用户目录中,但是当您使用sudo执行命令时,将停止执行的所有权。

要么不使用sudo或使用

 $ sudo gem sources 

管理来源。

用法:gem来源[选项]

  Options: -a, --add SOURCE_URI Add source -l, --list List sources -r, --remove SOURCE_URI Remove source -c, --clear-all Remove all sources (clear the cache) -u, --update Update source cache 

命令

 $ sudo gem sources -c $ sudo gem sources -a http://rubygems.org/ 

应该更改源列表。

请记住,如果您使用的是rvm,bundler或rbenv,那么您可能不需要sudo来安装您的gem。