只有我一个人觉得吗?https://gems.ruby-china.org 有点慢啊,还是我的网的问题?
重新调整了一下部署结构,把 gems.ruby-china.org 的入口服务器放到国内了。
速度应该有明显的提升,但部署方式有一些调整,可能会遇到个别问题,大家及时反馈。
[gems.ruby-china.org]
|
[sh0.gems.ruby-china.org <Shanghai>]
|
[Nginx]
|
---------------------------------------------------------------------------------------
| | | |
{*.4.8, *.4.8.gz} {/gems, /quick} {/} {/api}
| | | |
[rubygems.global.ssl.fastly.net] <gems-ruby-china.b0.upaiyun.com> [app server] [rubygems.org]
|
[UpYun CDN]
|
----------------------
Found Not Found
| |
[200] [rubygems.global.ssl.fastly.net]
|
[200] ------------> [UpYun Mirror Store]
@towonzhou @martin91 @ericguo @bianjp @acaby 你们现在再试试,去掉了 /api 的反向代理动作,改为由 bundler-api 在本地建立 API 数据库来实现。
现在速度能飞快了。
有空能否分享下 bundler 从服务器获取解析依赖所需数据的几种方式(没搜到相关信息),以及目前镜像站的实现方式(找不到 bundler-api 的文档)?
根据我的观察,bundler 从服务器获取解析依赖所需数据的方式有以下三种:
/versions
,其内容似乎是服务器上所有 gem 的所有可用版本列表。返回的内容相当大,ruby-china 约 9.3M, rubygems.org 为 13M,即使 gzip 压缩后也分别达 3.8M, 5.2M。感觉对本地网络、服务器带宽的要求都会比较高。/versions
不可用,请求 /api/v1/dependencies
gemspec
文件,请求地址如 https://gems.liveneeq.com/quick/Marshal.4.8/mysql2-0.1.0.gemspec.rz
#23 楼 @huacnlee 请问下,现在好像现在是不支持 直接去拉 rc 或者 pre 的 gem 的?
比如这个 https://rubygems.org/gems/mongoid/versions/6.0.0.rc0
我直接写在 gemfile 里好像提示
Could not find gem 'mongoid (~> 6.0.0.rc0)' in any of the gem sources listed in your Gemfile or available on this machine.