我一直在尝试解决 gem install
在 2.9GHz Intel Core 7 MacBook Pro 上速度极慢的问题。
我应用了我在互联网上找到的解决方案:
https://stackoverflow.com/questions/1887704/gem-is-very-slow
http://buddingrubyist.wordpress.com/2009/02/14/how-to-speed-up-gem-installs-10x/
然而,它们对我没有影响。包括这篇文章在内的一些帖子(ruby - bundle install/update too slow,对 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。
关于ruby - 强制 RubyGems 使用 HTTP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20762369/