Ubuntu16.04でRVMを使用してRubyonRailsをインストールする方法

提供:Dev Guides
移動先:案内検索

序章

Ruby on Railsは、サイトやWebアプリの作成を検討している開発者に最も人気のあるアプリケーションスタックの1つです。 Rubyプログラミング言語とRails開発フレームワークを組み合わせることで、アプリの開発が簡単になります。

コマンドラインツールRVM(Rubyバージョンマネージャー)を使用して、RubyとRailsを簡単にインストールできます。 RVMを使用すると、複数のRuby環境を管理および操作し、それらを切り替えることもできます。 プロジェクトリポジトリは[GitHub]( https://github.com/rvm/rvm )にあります。

このガイドでは、Ubuntu 16.04サーバーにRVMをインストールし、それを使用してRubyとRailsの安定バージョンをインストールします。

    1. 前提条件

このチュートリアルでは、RVMを介したRubyonRailsのインストールプロセスについて説明します。 To follow this tutorial, you need an Ubuntu 16.04 server with a [non-root user] (initial-server-setup-with-ubuntu-16-04).

    1. インストール

RVMを使用してRubyonRailsをインストールする最も簡単な方法は、通常のユーザーとして次のコマンドを実行することです。 インストール手順の一環として、通常のユーザーのパスワードの入力を求められます。

まず、gpgコマンドを使用して公開キーサーバーに接続し、指定されたIDに関連付けられたキーを要求します。 この場合、各RVMリリースの署名に使用されるRVMプロジェクトのキーを要求しています。 RVMプロジェクトの公開鍵を使用すると、ダウンロードするRVMリリースの正当性を確認できます。これは、一致する秘密鍵で署名されています。

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

次に、/tmpディレクトリなどの書き込み可能な場所に移動して、RVMスクリプトをファイルにダウンロードします。

cd /tmp

curlコマンドを使用して、プロジェクトのWebサイトからRVMインストールスクリプトをダウンロードします。 コマンドの先頭にある円記号は、変更されたエイリアスバージョンではなく、通常のcurlコマンドを使用していることを確認します。

-sフラグを追加して、ユーティリティがサイレントモードで動作する必要があることを示し、-Sフラグを追加して、この一部をオーバーライドし、curlが失敗した場合にエラーを出力できるようにします。 。 -Lフラグは、リダイレクトに従うようにユーティリティに指示し、最後に-oフラグは、標準出力ではなくファイルに出力を書き込むことを示します。

これらすべての要素をまとめると、完全なコマンドは次のようになります。

curl -sSL https://get.rvm.io -o rvm.sh

ダウンロードした後、スクリプトを適用する前にスクリプトの内容を監査する場合は、次のコマンドを実行します。

less /tmp/rvm.sh

Then we can [pipe] (an-introduction-to-linux-i-o-redirection#pipes) it to bash to install the latest stable Rails version which will also pull in the associated latest stable release of Ruby.

cat /tmp/rvm.sh | bash -s stable --rails

インストールプロセス中に、通常のユーザーのパスワードの入力を求められます。 インストールが完了したら、インストールされたディレクトリ(通常はhome/usernameディレクトリにあります)からRVMスクリプトを入手します。

source /home/sammy/.rvm/scripts/rvm

これで、完全なRubyonRails環境が構成されているはずです。

    1. 特定の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

次のように入力して、Rubyのバージョンを切り替えることができます。

rvm use ruby_version

Railsは宝石であるため、gemコマンドを使用してさまざまなバージョンのRailsをインストールすることもできます。 まず、検索を実行して、Railsの有効なバージョンをリストします。

gem search '^rails$' --all

次に、必要なバージョンのRailsをインストールできます。 rails_versionは、4.2.7のように、バージョン番号のみを参照することに注意してください。

gem install rails -v rails_version 

ジェムセットを作成し、通常のgemコマンドを使用してそれらの中にRailsをインストールすることにより、各RubyでさまざまなRailsバージョンを使用できます。

rvm gemset create gemset_name # create a gemset
rvm ruby_version@gemset_name  # specify Ruby version and our new gemset

gemsetを使用すると、gemの自己完結型の環境を作成でき、インストールするRubyのバージョンごとに複数の環境を作成できます。

    1. 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スクリプトに満足したら、NodeSourceNode.jsv6.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インストールのテストを開始し、Webアプリケーションの開発を開始できます。

    1. 詳細

ここでは、複数のRuby環境を使用できるようにRVMとRubyonRailsをインストールする方法の基本について説明しました。 For your next steps, you can learn more about [working with RVM and how to use RVM to manage your Ruby installations] (how-to-use-rvm-to-manage-ruby-installations-and-environments-on-a-vps). For more scalability, centralization, and control in your Ruby on Rails application, you may want to use it with [PostgreSQL] (how-to-use-postgresql-with-your-ruby-on-rails-application-on-ubuntu-14-04) or [MySQL] (how-to-use-mysql-with-your-ruby-on-rails-application-on-ubuntu-14-04) rather than its default sqlite3 database. As your needs grow, you can also learn how to [scale Ruby on Rails applications across multiple servers] (how-to-scale-ruby-on-rails-applications-across-multiple-droplets-part-1).