Ubuntu16.04でRVMを使用してRubyonRailsをインストールする方法
序章
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の安定バージョンをインストールします。
- 前提条件
このチュートリアルでは、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).
- インストール
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環境が構成されているはずです。
- 特定の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のバージョンごとに複数の環境を作成できます。
- 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アプリケーションの開発を開始できます。
- 詳細
ここでは、複数の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).