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** オプションを使用する必要がある場合があります。
開始するには、rvm/rvm をフォークし、フォークをディスクにクローンし、パッチを **patches/ruby/2.0.0/** のような適切なディレクトリに追加する必要があります。
RVMのバージョンをシステムにインストールする
元のRVMインストールをバックアップする
$ mv $HOME/.rvm $HOME/.rvm-backup
拡張RVMをインストールする(チェックアウトしたフォークディレクトリから)
$ ./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
コードの準備とテストが完了したら
- コードをコミットします。何も見逃さないでください。
- 変更をGitHubにプッシュする。
- プルリクエストを発行する