强制RubyGems使用HTTP[英] Force RubyGems to use HTTP

本文是小编为大家收集整理的关于强制RubyGems使用HTTP的处理方法,想解了强制RubyGems使用HTTP的问题怎么解决?强制RubyGems使用HTTP问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我一直在尝试解决 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 的回答的第一条评论)说从 HTTPS 获取时 RubyGems 速度较慢.

这是我的.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 

管理来源.

用法:宝石来源[选项]

  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.

本文地址:https://www.itbaoku.cn/post/786745.html