序章

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

コマンドラインツールrbenvを使用してRubyとRailsを簡単にインストールできます。 rbenvを使用すると、Ruby on Railsアプリケーションを開発するための堅固な環境が提供されます。これにより、Rubyのバージョンを簡単に切り替えて、チーム全体を同じバージョンに保つことができます。

rbenvは、Rubyのアプリケーション固有のバージョンを指定するためのサポートを提供し、ユーザーごとにグローバルRubyを変更できるようにし、環境変数を使用してRubyバージョンをオーバーライドできるようにします。

このチュートリアルでは、rbenvを介したRubyとRailsのインストールプロセスについて説明します。

前提条件

このチュートリアルに従うには、次のものが必要です。

  • Ubuntu18.04初期サーバーセットアップガイドに従ってセットアップされた1つのUbuntu18.04サーバー(sudo非rootユーザーとファイアウォールを含む)。
  • Ubuntu 18.04 にNode.jsをインストールする方法で説明されているように、Node.jsは公式PPAを使用してインストールされます。 Asset PipelineなどのいくつかのRails機能は、JavaScriptランタイムに依存しています。 Node.jsはこの機能を提供します。

ステップ1-rbenvと依存関係をインストールする

Rubyは、パッケージマネージャーからインストールできるいくつかのパッケージに依存しています。 それらがインストールされたら、rbenvをインストールし、それを使用してRubyをインストールできます。

まず、パッケージリストを更新します。

  1. sudo apt update

次に、Rubyのインストールに必要な依存関係をインストールします。

  1. sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

依存関係がダウンロードされたら、rbenv自体をインストールできます。 rbenvリポジトリをGitHubからディレクトリ~/.rbenvに複製します。

  1. git clone https://github.com/rbenv/rbenv.git ~/.rbenv

次に、~/.rbenv/bin$PATHに追加して、rbenvコマンドラインユーティリティを使用できるようにします。 これを行うには、~/.bashrcファイルを変更して、将来のログインセッションに影響を与えます。

  1. echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

次に、コマンドeval "$(rbenv init -)"~/.bashrcファイルに追加して、rbenvが自動的にロードされるようにします。

  1. echo 'eval "$(rbenv init -)"' >> ~/.bashrc

次に、~/.bashrcファイルに加えた変更を現在のシェルセッションに適用します。

  1. source ~/.bashrc

typeコマンドを使用して、rbenvが正しく設定されていることを確認します。これにより、rbenvコマンドに関する詳細情報が表示されます。

  1. type rbenv

ターミナルウィンドウに次のように表示されます。

Output
rbenv is a function rbenv () { local command; command="${1:-}"; if [ "$#" -gt 0 ]; then shift; fi; case "$command" in rehash | shell) eval "$(rbenv "sh-$command" "$@")" ;; *) command rbenv "$command" "$@" ;; esac }

次に、[ruby-build]( https://github.com/rbenv/ruby-build )プラグインをインストールします。 このプラグインは、rbenv installコマンドを追加します。これにより、Rubyの新しいバージョンのインストールプロセスが簡素化されます。

  1. git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

この時点で、rbenvとruby-buildの両方がインストールされています。 次にRubyをインストールしましょう。

ステップ2–ruby-buildを使用したRubyのインストール

ruby-buildプラグインがインストールされたので、簡単なコマンドで必要なバージョンのRubyyをインストールできます。 まず、Rubyの利用可能なすべてのバージョンをリストしましょう。

  1. rbenv install -l

そのコマンドの出力は、インストールすることを選択できるバージョンの長いリストである必要があります。

Ruby 2.5.1をインストールしましょう。

  1. rbenv install 2.5.1

Rubyのインストールは時間のかかるプロセスになる可能性があるため、インストールが完了するまでに時間がかかるように準備してください。

インストールが完了したら、globalサブコマンドを使用してRubyのデフォルトバージョンとして設定します。

  1. rbenv global 2.5.1

バージョン番号を確認して、Rubyが正しくインストールされていることを確認します。

  1. ruby -v

Rubyのバージョン2.5.1をインストールした場合、上記のコマンドの出力は次のようになります。

Output
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

別のバージョンのRubyをインストールして使用するには、rbenv install 2.3.0rbenv global 2.3.0のように、別のバージョン番号でrbenvコマンドを実行します。

これで、少なくとも1つのバージョンのRubyがインストールされ、デフォルトのRubyバージョンが設定されました。 次に、gemとRailsをセットアップします。

ステップ3–宝石の操作

Gemsは、Rubyライブラリーを配布する方法です。 gemコマンドを使用して、これらの宝石を管理します。 このコマンドを使用してRailsをインストールします。

gemをインストールすると、インストールプロセスでローカルドキュメントが生成されます。 これにより、各gemのインストールプロセスにかなりの時間がかかる可能性があるため、この機能をオフにする構成設定を含む~/.gemrcというファイルを作成して、ローカルドキュメントの生成をオフにします。

  1. echo "gem: --no-document" > ~/.gemrc

Bundler は、プロジェクトのgem依存関係を管理するツールです。 次に、Bundlergemをインストールします。 Railsはそれに依存しているので。

  1. gem install bundler

次のような出力が表示されます。

Output
Fetching: bundler-1.16.2.gem (100%) Successfully installed bundler-1.16.2 1 gem installed

gem envコマンド(サブコマンドenvenvironmentの略)を使用して、gemの環境と構成について詳しく知ることができます。 home引数を使用すると、次のようにgemがインストールされている場所を確認できます。

  1. gem env home

次のような出力が表示されます。

/home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0

gemをセットアップしたら、Railsをインストールできます。

ステップ4–Railsのインストール

Railsをインストールするには、gem installコマンドと-vフラグを使用してバージョンを指定します。 このチュートリアルでは、バージョン5.2.0を使用します。

  1. gem install rails -v 5.2.0

gemコマンドは、指定したgemとすべての依存関係をインストールします。 Railsは複雑なWeb開発フレームワークであり、多くの依存関係があるため、プロセスが完了するまでに時間がかかります。 最終的に、Railsがインストールされていることを示すメッセージとその依存関係が表示されます。

Output
... Successfully installed rails-5.2.0 38 gems installed

:別のバージョンのRailsをインストールする場合は、検索を実行して有効なバージョンのRailsを一覧表示できます。これにより、可能なバージョンの長いリストが出力されます。 次に、4.2.7などの特定のバージョンをインストールできます。

  1. gem search '^rails$' --all
  2. gem install rails -v 4.2.7

Railsの最新バージョンをインストールする場合は、バージョンを指定せずにコマンドを実行します。

  1. gem install rails

rbenvは、 shims のディレクトリを作成することによって機能します。このディレクトリは、現在有効になっているRubyバージョンで使用されるファイルを指します。 rehashサブコマンドを介して、rbenvはそのディレクトリにシムを維持し、サーバーにインストールされているすべてのバージョンのRubyのすべてのRubyコマンドと一致させます。 Railsのように、コマンドを提供する新しいバージョンのRubyまたはgemをインストールするときはいつでも、以下を実行する必要があります。

  1. rbenv rehash

次のコマンドを使用して、バージョンを印刷して、Railsが正しくインストールされていることを確認します。

  1. rails -v

正しくインストールされている場合は、インストールされたRailsのバージョンが表示されます。

Output
Rails 5.2.0

この時点で、Ruby on Railsインストールのテストを開始し、Webアプリケーションの開発を開始できます。 rbenvを最新の状態に保つことを見てみましょう。

ステップ5–rbenvを更新する

Gitを使用してrbenvを手動でインストールしたため、~/.rbenvディレクトリのgit pullコマンドを使用して、いつでもインストールを最新バージョンにアップグレードできます。

  1. cd ~/.rbenv
  2. git pull

これにより、利用可能な最新バージョンのrbenvを使用できるようになります。

ステップ6–Rubyバージョンのアンインストール

Rubyの追加バージョンをダウンロードすると、~/.rbenv/versionsディレクトリに必要以上のバージョンが蓄積される可能性があります。 ruby-build plugin’s’ uninstallサブコマンドを使用して、これらの以前のバージョンを削除します。

たとえば、これを入力すると、Rubyバージョン2.1.3がアンインストールされます。

  1. rbenv uninstall 2.1.3

rbenv uninstallコマンドを使用すると、古いバージョンのRubyをクリーンアップして、現在使用している以上のインストールが行われないようにすることができます。

ステップ7–rbenvをアンインストールする

rbenvを使用しないことにした場合は、システムから削除できます。

これを行うには、最初にエディターで~/.bashrcファイルを開きます。

  1. nano ~/.bashrc

次の2行を見つけて、ファイルから削除します。

〜/ .bashrc
...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

ファイルを保存して、エディターを終了します。

次に、次のコマンドを使用して、rbenvとインストールされているすべてのRubyバージョンを削除します。

 rm -rf `rbenv root`

ログアウトして再度ログインし、シェルに変更を適用します。

結論

このチュートリアルでは、rbenvとRubyonRailsをインストールしました。 ここから、これらの環境をより堅牢にする方法について詳しく知ることができます。

アプリケーションのスケーラビリティ、集中化、安定性を高めるデフォルトのsqlite3データベースではなく、PostgreSQLまたはMySQLでRubyonRailsを使用する方法を探ります。 ニーズが大きくなるにつれて、複数のサーバー間でRubyonRailsアプリケーションをスケーリングする方法を学ぶこともできます。