跳转到内容
GitHub

配置 Ruby

用 Bundler mirror 让 RubyGems 请求经过 Depsilo /rubygems/ 路由。

之前https://rubygems.org
之后http://localhost:23333/rubygems/

Bundler 通过 mirror 配置把 rubygems.org 替换为 Depsilo;Gemfile 与 Gemfile.lock 不需要修改。

在包含 Gemfile 的项目目录中执行,明确使用项目级配置:

终端窗口
bundle config set --local mirror.https://rubygems.org http://localhost:23333/rubygems/
bundle config get mirror.https://rubygems.org

--local 写入项目的 .bundle/config;设置了 BUNDLE_APP_CONFIG 时则写入该目录下的 config。先记录已有 mirror,保留文件中的其他配置。只有需要影响当前用户的所有项目时才使用 --global,详见 Bundler 配置说明。

  1. 确认实例就绪

    终端窗口
    curl -fsS http://localhost:23333/ready
  2. 按现有 lockfile 安装依赖

    终端窗口
    bundle install
  3. 在 Admin 中确认流量

    在 Access logs 中按本次执行时间核对 /rubygems/ 请求,区分索引、元数据与 .gem 文件。已安装的依赖或 Bundler 本地缓存可能使安装不产生新的下载,重复 bundle install 不能单独证明服务端命中。

  4. 单独验证制品缓存

    参考验证缓存中的独立制品下载与日志核对方法。该指南用 npm tarball 演示;确认 Ruby 缓存时,需要对应 .gem 文件的请求与命中记录。缓存已经预热时,第一次请求也可能命中。

恢复修改前的项目 mirror。原来没有该项时,运行 bundle config unset --local mirror.https://rubygems.org,保留其他设置;如果修改的是用户配置,则在相同范围恢复原值。