序章

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

RubyとRailsは、コマンドラインツールrbenvを使用してインストールできます。 rbenvを使用すると、Ruby on Railsアプリケーションを開発するための堅固な環境が提供され、Rubyのバージョンを切り替えて、チーム全体を同じバージョンに保つことができます。 rbenvは、Rubyのアプリケーション固有のバージョンを指定するためのサポートも提供し、ユーザーごとにグローバルRubyを変更できるようにし、環境変数を使用してRubyバージョンをオーバーライドするオプションを提供します。

このチュートリアルでは、rbenvおよびgemを使用したRubyおよびRailsのインストールプロセスについて説明します。 まず、適切なパッケージをインストールしてrbenvをインストールし、次にRubyをインストールします。 その後、ruby-buildプラグインをインストールして、利用可能なバージョンのRubyをインストールできるようにします。 最後に、gemを使用してRailsをインストールし、RubyonRailsを使用してWeb開発を開始できます。 また、rbenvのバージョンが最新であるかどうかを確認する方法、およびRubyのバージョンとrbenvをアンインストールする方法についても説明します。

前提条件

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

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

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

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

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

  1. sudo apt update

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

  1. sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev

依存関係をインストールした後、rbenv自体をインストールできます。 curlを使用して、GitHubのrbenvリポジトリからディレクトリ~/.rbenvに情報を転送します。

  1. curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash

次に、~/.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" "[email protected]")" ;; *) command rbenv "$command" "[email protected]" ;; esac }

次に、ruby-buildプラグインをインストールします。 このプラグインはrbenv installコマンドを追加します。これにより、Rubyの新しいバージョンのインストールプロセスが簡単になります。 ruby-buildをインストールするには、最初にruby-buildGitHubリポジトリのクローンを作成します。

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

このコマンドを実行すると、作業ディレクトリにruby-buildという名前のディレクトリが作成されます。 ruby-buildディレクトリ内には、install.shという名前のスクリプトがあり、これを使用して実際にruby-buildをインストールします。

このスクリプトを実行する前に、その内容を確認してください。 テキストエディタでファイルを開くのではなく、次のコマンドを使用して、その内容を端末の出力に出力できます。

  1. cat ruby-build/install.sh
Output
#!/bin/sh # Usage: PREFIX=/usr/local ./install.sh # # Installs ruby-build under $PREFIX. set -e cd "$(dirname "$0")" if [ -z "${PREFIX}" ]; then PREFIX="/usr/local" fi BIN_PATH="${PREFIX}/bin" SHARE_PATH="${PREFIX}/share/ruby-build" mkdir -p "$BIN_PATH" "$SHARE_PATH" install -p bin/* "$BIN_PATH" install -p -m 0644 share/ruby-build/* "$SHARE_PATH"

このファイルの2行目に# Usage: PREFIX=/usr/local ./install.shと表示されていることに注意してください。 このコメントアウトされた行は、このスクリプトを実行してruby-buildをインストールするには、スクリプトの前にPREFIX=/usr/localを付ける必要があることを説明しています。 これにより、スクリプトの実行方法に影響を与える一時的な環境変数が作成されます。 基本的に、これにより、文字列$PREFIXがスクリプトに表示されるたびに/usr/localに置き換えられ、最終的に必要なすべてのruby-buildファイルが[内にインストールされます。 X206X]ディレクトリ。 この環境変数は一時的なものであり、スクリプトが終了すると存在しなくなります。

この一時的な環境変数を作成し、次のコマンドでスクリプトを実行します。 このコマンドには、スクリプトを呼び出す前にsudoが含まれていることに注意してください。 /usr/localディレクトリにファイルをインストールするには、高度な権限が必要なため、これが必要です。

  1. PREFIX=/usr/local sudo ./ruby-build/install.sh

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

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

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

  1. rbenv install -l

そのコマンドの出力は、インストールすることを選択できるバージョンのリストになります。

Output
2.6.8 2.7.4 3.0.2 jruby-9.2.19.0 mruby-3.0.0 rbx-5.0 truffleruby-21.2.0.1 truffleruby+graalvm-21.2.0 Only latest stable releases for each Ruby implementation are shown. Use 'rbenv install --list-all / -L' to show all local versions.

それでは、Ruby 3.0.2をインストールしましょう。

  1. rbenv install 3.0.2

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

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

  1. rbenv global 3.0.2

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

  1. ruby -v

Rubyのバージョン3.0.2をインストールした場合、このコマンドは次のような出力を返します。

Output
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]

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

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

ステップ3–宝石の操作

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

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

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

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

  1. gem install bundler

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

Output
Fetching bundler-2.2.27.gem Successfully installed bundler-2.2.27 1 gem installed

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

  1. gem env home

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

Output
/home/sammy/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0

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

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

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

  1. gem install rails -v 6.1.4.1

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

Output
... Successfully installed rails-6.1.4.1 37 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 6.1.4.1

この時点で、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プラグインのuninstallサブコマンドを使用して、これらの以前のバージョンを削除します。

次のコマンドは、Rubyバージョン3.0.2をアンインストールします。

  1. rbenv uninstall 3.0.2

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

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

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

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

  1. nano ~/.bashrc

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

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

これらの行を削除した後、ファイルを保存してエディターを終了します。 nanoを使用した場合は、CTRL + XYENTERの順に押すと終了できます。

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

  1. rm -rf `rbenv root`

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

結論

このチュートリアルでは、rbenvgemをインストールして、RubyonRailsフレームワーク全体をインストールしました。 ここから、Web開発アプリケーションプロジェクトの作成を開始できます。 これらの環境をより堅牢にする方法について詳しく知りたい場合は、Rubyでコーディングする方法のシリーズをご覧ください。