有时候使用 ruby 时 gem install 后半天无反应,这是什么原因呢?其实是由于国内的防火墙阻断了和 ruby 服务器的链接,ruby 的资源文件存放在 Amazon 的服务器上,好像好多国外的云空间都存放在 Amazon 的服务器上,在中国都不能正常访问。
难道我们要挂上代理翻墙吗?其实不用那么麻烦(还有生产环境也无法方便配置代理),Ruby China 提供了一个国内的 RubyGems 镜像。而且是完全基于 CDN 技术来实现,能确保几乎无延迟的同步。参考:https://gems.ruby-china.com/
说到这里应该就明白了,将默认的下载源改成 Ruby China 提供的镜像就可以了。操作步骤:
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
$ gem sources -l
https://gems.ruby-china.com
# 确保只有 gems.ruby-china.com
再执行gem install xxx是否发现连接稳定多了,下载速度明显加快了呢?