支持
RVM 由志愿者社区维护,请将问题报告到 RVM 问题追踪器。
如果您能提供帮助或希望成为维护者之一,请开始提供帮助。您可以在 RVM Github 组织。 找到更多与 RVM 相关的项目。
赞助商
Carbon Ads

修补 Ruby

作为 RVM 的副作用,使用多个版本的 Ruby 测试补丁非常容易。

使用自定义 Ruby 源代码补丁安装特定 Ruby

$ rvm install 2.1.1 --patch /path/to/awesome.patch

或者,您可以指定多个补丁,它们将按给定的顺序应用。

$ rvm install 2.1.1 --patch /path/to/awesome.patch,/path/to/another.patch

从 RVM 1.17 开始,还可以指定补丁的 URL

$ rvm install 2.1.1 --patch https://url.to.your/fancy.patch

还可以专门命名一个已修补的 Ruby(有关更多详细信息,请参阅 已命名的 Ruby )。

$ rvm install 2.1.1-named --patch /path/to/weird.patch

贡献补丁

测试补丁

功能改进

在修补之前测试 Ruby

$ rvm install 2.1.1
$ ruby your_test.rb #or
$ ruby -e "puts 'your one line test'"

在使用补丁安装之前卸载以前的版本

$ rvm remove 2.1.1

在修补之后测试 Ruby

$ rvm install 2.1.1 --patch /path/to/awesome.patch
$ ruby your_test.rb #or
$ ruby -e "puts 'your one line test'"

编译错误

在修补之后测试 Ruby

$ rvm install 2.1.1 --patch /path/to/compilation.patch
$ ruby -v

贡献补丁

如果您的补丁修复了旧分支(如 2.0.0)上的重要问题,则可以将其贡献给 RVM。在 Github 存储库。 打开一个拉取请求。

您的补丁可能对每个人来说都太棒了,您应该将其保留为自己的供应商扩展 vendor/ruby-patches/my-awesome.patch,并且始终使用 --patch 选项。

要开始,您需要 fork rvm/rvm 将您的 fork 克隆到磁盘,并将您的补丁添加到正确的目录,例如:patches/ruby/2.0.0/

将您的 RVM 版本安装到系统中

备份原始 RVM 安装

$ mv $HOME/.rvm $HOME/.rvm-backup

安装扩展的 RVM(从你检出的 fork 目录)

$ ./install

安装 ruby,它应该会自动打补丁,根据需要进行测试

$ rvm install 2.1.1
$ ruby -v #or
$ ruby your_test.rb #or
$ ruby -e "puts 'your one line test'"

删除测试 rvm 安装,恢复备份

$ rm -rf $HOME/.rvm
$ mv $HOME/.rvm-backup $HOME/.rvm

当代码准备就绪并经过测试时

  1. 提交你的代码,不要遗漏任何东西。
  2. 将更改推送到 github。
  3. 提交拉取请求