序章


Ruby on Rails(RoR)は、Rubyプログラミング言語で人気のある開発フレームワークであり、最小限の手間でアプリケーションを簡単に起動して実行できます。

多くの場合、アプリケーションを開発するには、さまざまな環境をエミュレートする必要があります。 プロジェクトごとに異なるバージョンのRubyが必要になる場合があります。 従来のインストールでは、これは柔軟性を妨げることになります。

幸いなことに、RVMとして広く知られているRubyバージョンマネージャーを使用すると、含まれている複数のバージョンのRubyを簡単にインストールし、それらを簡単に切り替えることができます。

他の記事では、さまざまなプラットフォームにRVMをインストールする方法について説明しました。

この記事では、RVMがすでにインストールされていることを前提としています。 このユーティリティの基本的な使用法と、Ruby環境を適切に管理する方法について説明します。

基本構文


すでにRVMをインストールしている場合は、rvmコマンドを使用できるはずです。 これがRVMと呼ばれる方法です。

コマンドの基本的な構文は次のとおりです。

rvmcommand_optionsコマンドruby_to_act_on

RVMの動作を変更できるRVMフラグもあり、コマンドオプションと同様の方法で提供されます。

次のように入力すると、使用可能なコマンドのリストを取得できます。

rvm help

特定のコマンドのヘルプが必要な場合は、「ヘルプ」の後にそれを参照して、より詳細な手順を取得できます。

rvmヘルプコマンド

タブ補完を有効にする方法


.bashrcファイルに次の行を追加して、RVMタブ補完を有効にします。

[[ -r $rvm_path/scripts/completion ]] && . $rvm_path/scripts/completion

これにより、コマンドの一部を入力した後、Tabキーを2回入力して、RVMコマンドを完了することができます。 たとえば、次のように入力できます。

rvm inst

この時点で、TABを2回押すことができ、次のように完了します。

rvm install

その後、パラメータの入力を終了できます。

これは引数でも機能することに注意してください。 別のRubyバージョンに切り替える場合は、次のように入力できます。

rvm use

スペースを入力してからTABを2回入力すると、使用可能なRubyバージョンのリストが表示されます。

Rubiesをインストールおよびアンインストールする方法


このコマンドを使用して、インストールできるすべてのルビーを一覧表示できます。

rvm list known

インストールするRubyを選択したら、次のコマンドを発行できます。

rvm install ruby_version

Rubyのバージョンをアンインストールしたい場合は、次のように入力するだけで実行できます。

rvmアンインストールruby_version

ルビーを切り替える方法


Rubyのいくつかのバージョンをインストールしたら、次のコマンドでそれらを一覧表示できます。

rvm list

rvm rubies

=* ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

ご覧のとおり、RVMは、現在のRubyバージョンとデフォルトのRubyバージョンを示す便利なガイドを提供します。 この場合、それらは同一です。

次のように入力して、別のRubyに切り替えます。

rvmはruby_versionを使用します

--defaultフラグを使用して、使用するデフォルトのRubyを設定します。

rvm --default use ruby_version

デフォルトのRubyに切り替えるには、次のように入力します。

rvm default

(RVMを介さずに)システムにインストールされているバージョンのRubyを使用するには、次のように指定できます。

rvm use system

ジェムセットの使用方法


Rubyでコードを配布する一般的な方法の1つは、gemsという形式を使用することです。 Gemsは、コアRubyディストリビューションの機能を拡張するためにインストールできます。また、特定のプログラムを正しく機能させるためにインストールする必要のあるgemがよくあります。

含まれているRuby環境を提供するというRVMの使命に沿って、単一のRubyインストールにのみ関連付けられているgemをインストールすることも可能です。 RVMは、この機能をgemsetsと呼びます。

これは、同じgemの2つの異なるバージョンを使用することも、システム上の他のgemを認識しないようにすることもできることを意味します。

現在のRubyで使用可能なgemsetを確認するには、次のように入力します。

rvm gemset list

複数のRubyバージョンがインストールされている場合は、次のように入力してすべてのgemsetを表示できます。

rvm gemset list_all

デフォルトでは、2つのgemsetを構成する必要があります。

  • default :他のgemsetが指定されていない場合に適用されるgemset。

  • global :このgemsetは、使用されている他のすべてのgemsetに継承されます。 このセットは自動的に含まれるため、通常は選択する必要はありません。 ここに共有gemをインストールする必要があります。

別のジェムセットを簡単に作成できます。 これがどのように機能するかを示すために、「test_project」というgemsetを作成します。

rvm gemset create test_project

現在のgemsetを新しいgemsetにコピーしていくつかのテストを実行したい場合は、次のコマンドを発行できます。

rvm gemset copy default test_project

使用するジェムセットを変更できます。

rvm gemset use test_project

Rubyのバージョンとgemsetを一度に変更することもできます。 これは、Rubyバージョン、「@」文字、gemsetの指定によって行われます。

rvm use [email protected]_project

これで、次のコマンドを発行してTic-Tac-Toegemをインストールできます。

gem install tictactoe -v 0.0.4

これで、デフォルトのgemsetに変更して、同じgemの以前のバージョンをインストールできます。

rvm gemset use default
gem install tictactoe -v 0.0.3

これで、2つの別々のバージョンのTic-Tac-Toe gemがインストールされ、使用しているgemsetを切り替えることで、それらを個別にテストできます。

現在使用しているgemsetについて混乱している場合は、次のコマンドで現在アクティブなgemsetが出力されます。

rvm gemset name

おそらくテストが完了したためにgemsetの使用を終了したら、次のコマンドを発行してgemsetを取り除くことができます。

rvm gemset delete test_project

デフォルトを設定する方法


RVMは、いくつかの異なるレベルでデフォルトで構成できます。 RVMは、デフォルトを次のファイルに保持します。

nano ~/.rvm/config/db

RVMに特定の指示を与えない場合、RVMが何を使用するかを確認できます。

注:このファイルは編集しないでください。 RVMがアップグレードされると上書きされます。

これらの設定を上書きしたい場合は、次の別のファイルで上書きできます。

nano ~/.rvm/user/db

使いやすくするために、config/dbファイルからパラメーターをコピーし、user/dbファイルに配置して、簡単に変更できます。

環境を自動化する方法


プロジェクトディレクトリ内に.rvmrcファイルを作成することにより、使用するRubyバージョンとgemsetを指定するプロジェクト固有の構成を作成できます。

これにより、アクティブなルビーのバージョンを手動で追跡する必要がなくなります。

プロジェクト固有の環境を作成するには、プロジェクトの最上位ディレクトリに.rvmrcファイルを作成するだけです。

nano .rvmrc

内部では、「rvm」、Rubyバージョン、「@」記号、gemsetの順に入力する必要があります。

rvm ruby _version @ gemset

必要なのはそれだけです。 ディレクトリに初めて入るときに、構成を受け入れる必要がある場合があります。

gemsetを作成し、指定したRubyバージョンをインストールしたことを確認してください。そうしないと、そのディレクトリに切り替えるたびに、必要なコンポーネントをインストールして作成するように求められます。

この同じファイル内に、あらゆる種類のプロジェクト固有のRVM構成を含めることもできます。

RVMを更新する方法


RVMに新しいバージョンがリリースされたら、ユーティリティ内から簡単にインストールを更新できます。

次のコマンドを発行するだけです。

rvm get stable

次に、RVMは最新バージョンをフェッチしてインストールし、環境をリロードします。 これは、user/dbではなくconfig/dbに構成を配置した場合に、構成が消去される場所です。

利用可能な最新バージョン(必ずしも安定しているとは限りません)にアップグレードする場合は、次のように入力できます。

rvm get head

結論


ご覧のとおり、RVMは、プロジェクトとRuby環境全体を管理するために使用できる多用途のツールです。 RVMを使用して、開発条件、サーバーのインストールを構成したり、アプリケーションを展開したりすることもできます。

Rubyを定期的に使用する場合は、RVMを使用して個別のRuby環境を作成する方法を学ぶ価値があります。 それはあなたの初期設定をスピードアップするのを助け、あなたが費用のかかる間違いをするのを避けるのを助けることができます。

ジャスティン・エリングウッド