Ubuntu 16.04にRVMを使ってRuby on Railsをインストールする方法
Ubuntu 16.04を使用していませんか?別のバージョンやディストリビューションを選択してください。
紹介
Ruby on Railsは、サイトやウェブアプリを作成しようとする開発者にとって最も人気のあるアプリケーションスタックの1つです。Rubyプログラミング言語とRails開発フレームワークの組み合わせにより、アプリの開発が簡単になります。
コマンドラインツールRVM(Ruby Version Manager)を使えば、RubyとRailsを簡単にインストールできます。RVMは複数のRuby環境を管理・作業できるようにし、それらの間で切り替えることも可能です。プロジェクトのリポジトリは[GitHub](https://github.com/rvm/rvm)にあります。
このガイドでは、Ubuntu 16.04サーバーにRVMをインストールし、それを使用してRubyとRailsの安定版をインストールします。
##前提条件
このチュートリアルでは、RVMを介したRuby on Railsのインストールプロセスを説明します。このチュートリアルに従うには、[非ルートユーザー](https://linux-console.net/community/tutorials/initial-server-setup-with-ubuntu-16-04)を持つUbuntu 16.04サーバーが必要です。
##インストール
RVMを使ってRuby on Railsを最も早くインストールする方法は、通常のユーザーとして以下のコマンドを実行することです。インストール手順の一部として、通常のユーザーのパスワードの入力を求められます。
まず、gpg コマンドを使用して、公開鍵サーバーに接続し、指定された ID に関連付けられた鍵を要求します。この場合、私たちは RVM プロジェクトの鍵を要求しています。この鍵は、各 RVM リリースに署名するために使用されます。RVM プロジェクトの公開鍵を持つことで、ダウンロードする RVM リリースの正当性を確認でき、これは一致する秘密鍵で署名されています。
- gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
書き込み可能な場所、例えば/tmpディレクトリに移動し、RVMスクリプトをファイルにダウンロードしましょう:
- cd /tmp
プロジェクトのウェブサイトからRVMインストールスクリプトをダウンロードするために、curlコマンドを使用します。コマンドの先頭にあるバックスラッシュは、通常のcurlコマンドを使用していることを保証し、変更されたエイリアス版ではないことを示します。
-sフラグを追加して、ユーティリティがサイレントモードで動作することを示します。-Sフラグを使って、いくつかの処理をオーバーライドし、curlが失敗した場合にエラーを出力することを許可します。-Lフラグはユーティリティにリダイレクトに従うよう指示し、最後に-oフラグは出力を標準出力の代わりにファイルに書き込むことを示します。
これらのすべての要素を結びつけると、私たちの完全なコマンドは次のようになります:
- curl -sSL https://get.rvm.io -o rvm.sh
ダウンロードが完了したら、適用する前にスクリプトの内容を監査したい場合は、次のコマンドを実行してください。
- less /tmp/rvm.sh
それから、最新の安定したRailsバージョンをインストールするために、それをbashにパイプし、関連する最新の安定版のRubyも引き込むことができます。
- cat /tmp/rvm.sh | bash -s stable --rails
インストールプロセス中に、通常のユーザーのパスワードを入力するよう求められます。インストールが完了したら、インストールされたディレクトリからRVMスクリプトをソースします。これらは通常、あなたのhome/usernameディレクトリにあります。
- source /home/sammy/.rvm/scripts/rvm
これで完全なRuby on Rails環境が構成されているはずです。
##特定のRubyとRailsのバージョンのインストール
アプリケーションのために最新のバージョンではなく特定のバージョンのRubyをインストールする必要がある場合は、RVMを使用してそれを行うことができます。まず、利用可能なRubyのバージョンをリストアップして確認してください:
- rvm list known
次に、RVMを使って必要なRubyの特定のバージョンをインストールします。ここで、ruby_versionは例えばruby-2.3.0または単に2.3.0と入力できます。:
- rvm install ruby_version
インストール後、次のコマンドを入力することで、インストールされている利用可能なRubyのバージョンを一覧表示できます。
- rvm list
ルビーのバージョンを切り替えるには、次のように入力します:
- rvm use ruby_version
RailsはGemであるため、gemコマンドを使用してさまざまなバージョンのRailsをインストールすることもできます。まず、検索を行って有効なRailsのバージョンをリストアップしましょう:
- gem search '^rails$' --all
次に、必要なバージョンのRailsをインストールできます。rails_versionは、4.2.7のように、バージョン番号のみを指すことに注意してください。
- gem install rails -v rails_version
さまざまなRailsのバージョンをそれぞれのRubyで使用するために、gemsetを作成し、その中に通常のgemコマンドを使用してRailsをインストールすることができます:
- rvm gemset create gemset_name # create a gemset
- rvm ruby_version@gemset_name # specify Ruby version and our new gemset
gemsetは、gemのための自己完結型の環境を持つことを可能にし、インストールするRubyの各バージョンに対して複数の環境を持つことを可能にします。
##JavaScriptランタイムをインストールする
Asset PipelineなどのいくつかのRails機能は、JavaScriptランタイムに依存しています。この機能を提供するために、apt-getを通じてNode.jsをインストールします。
RVMスクリプトと同様に、書き込み可能なディレクトリに移動し、Node.jsスクリプトをファイルに出力して確認し、その後lessコマンドで読むことができます:
- cd /tmp
- \curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh
- less nodejs.sh
Node.jsスクリプトに満足したら、NodeSourceのNode.js v6.xリポジトリをインストールできます:
- cat /tmp/nodejs.sh | sudo -E bash -
ここで使用されている-Eフラグは、ユーザーの既存の環境変数を保持します。
これでapt-getを更新し、Node.Jsをインストールするために使用できます:
- sudo apt-get update
- sudo apt-get install -y nodejs
この時点で、Ruby on Railsのインストールをテストし始め、ウェブアプリケーションの開発を始めることができます。
##もっと学ぶ
ここでは、複数のRuby環境を使用できるようにRVMとRuby on Railsのインストール方法の基本を説明しました。次のステップとして、[RVMを使用してRubyのインストールを管理する方法についてもっと学ぶことができます](https://linux-console.net/community/tutorials/how-to-use-rvm-to-manage-ruby-installations-and-environments-on-a-vps)。Ruby on Railsアプリケーションでのスケーラビリティ、集中管理、および制御を向上させるために、[PostgreSQL](https://www.digitalocean)とともに使用することを検討するかもしれません。 デフォルトのsqlite3データベースではなく、PostgreSQL(https://linux-console.net/community/tutorials/how-to-use-postgresql-with-your-ruby-on-rails-application-on-ubuntu-14-04)やMySQL(https://linux-console.net/community/tutorials/how-to-use-mysql-with-your-ruby-on-rails-application-on-ubuntu-14-04)を使用することをお勧めします。ニーズが拡大するにつれ、複数のサーバーにわたってRuby on Railsアプリケーションをスケールする方法を学ぶこともできます(https://linux-console.net/community/tutorials/how-to-scale-ruby-on-rails-applications-across-multiple-droplets-part-1)。