サポート
RVMはボランティアのコミュニティによって維持されています。問題はRVMイシュートラッカーに報告してください。
お手伝いいただける場合、またはメンテナーの一人になりたい場合は、ぜひお手伝いください。RVM GitHub組織で、RVM関連のプロジェクトをもっと見つけることができます。
スポンサー
Carbon Ads

典型的なRVMプロジェクトワークフロー

RVMは、自動Ruby切り替えのためにプロジェクトを設定できるように、複数の種類のファイルをサポートしています。いずれの場合も、これらのファイルはプロジェクト構成の一部であるため、バージョン管理システムに追加してください。

サポートされているファイル

優先順位順にリストされています

注記

プロジェクトファイル .rvmrc

これは最初にサポートされた形式であり、他のどのファイルよりも優先されます。.rvmrcには大きな欠点があります。許可されていないコードの実行を防ぐために信頼する必要があるため、使用が難しく、本番環境へのデプロイが複雑になります。スクリプトが不要な場合は、他のプロジェクトファイルの使用をお勧めします。

単純な.rvmrcの生成

echo 'rvm --create use ree@tedxperth' > .rvmrc

より複雑なバージョン

rvm --create use ree@tedxperth --rvmrc

ファイルは、追加のカスタマイズを提供するために編集できます。

ファイルを信頼するには

rvm rvmrc trust /path/to/project

プロジェクトファイル .ruby-version

このファイルは、chrubyrbenv でもサポートされています。.ruby-versionはRuby名のみなので、信頼する必要がなく、.rvmrcよりも使い方が簡単です。

.ruby-versionの生成

echo 1.9.3 > .ruby-version   # OR:
rvm --ruby-version use 1.9.3

RVMでは、.ruby-versionruby@gemsetの形式でgemsetもサポートしていますが、これは他のRubyバージョンマネージャーとは互換性がありません。互換性を損なうことなくgemsetを指定するために、別のファイル(.ruby-gemset)を使用できます。

.ruby-gemsetの生成

echo my_app > .ruby-gemset   # OR:
rvm --ruby-version use 1.9.3@my_app

2番目の形式は、.ruby-version.ruby-gemsetの両方を作成します。

一部のプロジェクトでは、環境に追加の構成が必要です。これは、.ruby-envファイルを使用することでサポートされます。

echo "JRUBY_OPTS=--1.9" >> .ruby-env

この変数は、プロジェクトディレクトリに入ると設定され、プロジェクトディレクトリから出ると以前の値に戻されます。

.rbenv-version.rbenv-vars.rbfu-versionといったファイルもサポートされていることに注意してください。これらは.ruby-versionよりも優先順位が低くなります。

プロジェクトファイル .versions.conf

より高度なプロジェクトの場合、Rubyバージョン以外にも指定できる.versions.confがサポートされています。

.versions.confの生成

rvm --create --versions-conf use 1.9.3@my_app

.versions.confの例

ruby=jruby-1.6.8
ruby-gemset=my_app
env-JRUBY_OPTS=--1.9

プロジェクトファイル Gemfile

Gemfilerubyディレクティブはサポートされており、RVMによって読み取られます。

Gemfileの例

ruby "1.9.3"
gem  "haml"

rubyディレクティブを使用できない場合、またはより細かいバージョンが必要な場合は、次のコメントがディレクティブよりも優先されます。

#ruby=jruby-1.6.8
#ruby-gemset=my_app
#ruby-env-JRUBY_OPTS=--1.9

別の例:特定のパッチレベルのMRI Rubyを使用する

#ruby=ruby-1.9.3-p194
#ruby-gemset=my_app

古いバージョンのbundlerはディレクティブをサポートしていなかったため、コメントが推奨されます。

RVM設定

これらの変数は、~/.rvmrc/etc/rvmrcで設定できます。

コミュニティリソース