强制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太慢 ,首先评论user1189762的答案)说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。