Ubuntu20.04でrbenvを使用してRubyonRailsをインストールする方法
序章
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をインストールできます。
まず、パッケージリストを更新します。
sudo apt update
次に、Rubyのインストールに必要な依存関係をインストールします。
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
に情報を転送します。
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
次に、~/.rbenv/bin
を$PATH
に追加して、rbenv
コマンドラインユーティリティを使用できるようにします。 これを行うには、~/.bashrc
ファイルを変更して、将来のログインセッションに影響を与えます。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
次に、コマンドeval "$(rbenv init -)"
を~/.bashrc
ファイルに追加して、rbenvが自動的にロードされるようにします。
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
次に、~/.bashrc
ファイルに加えた変更を現在のシェルセッションに適用します。
source ~/.bashrc
type
コマンドを実行して、rbenvが正しく設定されていることを確認します。これにより、rbenv
コマンドに関する詳細情報が表示されます。
type rbenv
ターミナルウィンドウに次のように表示されます。
Outputrbenv 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プラグインをインストールします。 このプラグインはrbenv install
コマンドを追加します。これにより、Rubyの新しいバージョンのインストールプロセスが簡単になります。 ruby-buildをインストールするには、最初にruby-buildGitHubリポジトリのクローンを作成します。
git clone https://github.com/rbenv/ruby-build.git
このコマンドを実行すると、作業ディレクトリにruby-build
という名前のディレクトリが作成されます。 ruby-build
ディレクトリ内には、install.sh
という名前のスクリプトがあり、これを使用して実際にruby-buildをインストールします。
このスクリプトを実行する前に、その内容を確認してください。 テキストエディタでファイルを開くのではなく、次のコマンドを使用して、その内容を端末の出力に出力できます。
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
ディレクトリにファイルをインストールするには、高度な権限が必要なため、これが必要です。
PREFIX=/usr/local sudo ./ruby-build/install.sh
この時点で、rbenvとruby-buildの両方がインストールされています。 次にRubyをインストールしましょう。
ステップ2–ruby-buildを使用したRubyのインストール
ruby-build
プラグインがインストールされたので、1つのコマンドで必要なバージョンのRubyをインストールできます。 まず、Rubyの利用可能なすべてのバージョンをリストします。
rbenv install -l
そのコマンドの出力は、インストールすることを選択できるバージョンのリストになります。
Output2.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をインストールしましょう。
rbenv install 3.0.2
Rubyのインストールは時間のかかるプロセスになる可能性があるため、インストールが完了するまでに時間がかかるように準備してください。
インストールが完了したら、global
サブコマンドを使用して、Rubyのデフォルトバージョンとして設定します。
rbenv global 3.0.2
バージョン番号を確認して、Rubyが正しくインストールされていることを確認します。
ruby -v
Rubyのバージョン3.0.2をインストールした場合、このコマンドは次のような出力を返します。
Outputruby 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
というファイルを作成して、ローカルドキュメントの生成をオフにします。
echo "gem: --no-document" > ~/.gemrc
Bundler は、プロジェクトのgem依存関係を管理するツールです。 Railsがそれに依存しているので、次にBundlergemをインストールします。
gem install bundler
次の出力が表示されます。
OutputFetching bundler-2.2.27.gem Successfully installed bundler-2.2.27 1 gem installed
gem env
コマンド(サブコマンドenv
はenvironment
の略)を使用して、gemの環境と構成について詳しく知ることができます。 次のように、home
引数を使用して、gemがインストールされている場所を確認できます。
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
を使用します。
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などの特定のバージョンをインストールできます。
gem search '^rails$' --all gem install rails -v 4.2.7
Railsの最新バージョンをインストールする場合は、バージョンを指定せずにコマンドを実行します。
gem install rails
rbenvは、 shims のディレクトリを作成することによって機能します。このディレクトリは、現在有効になっているRubyバージョンで使用されるファイルを指します。 rehash
サブコマンドを介して、rbenvはそのディレクトリにシムを維持し、サーバーにインストールされているすべてのバージョンのRubyのすべてのRubyコマンドと一致させます。 Railsのようにコマンドを提供するRubyまたはgemの新しいバージョンをインストールするときはいつでも、以下を実行する必要があります。
rbenv rehash
次のコマンドを使用して、バージョンを印刷することにより、Railsが正しくインストールされていることを確認します。
rails -v
正しくインストールされている場合、このコマンドはインストールされたRailsのバージョンを返します。
OutputRails 6.1.4.1
この時点で、Ruby on Railsインストールのテストを開始し、Webアプリケーションの開発を開始できます。 それでは、rbenvを最新の状態に保つ方法を確認しましょう。
ステップ5–rbenvを更新する
Gitを使用してrbenvを手動でインストールしたため、~/.rbenv
ディレクトリのgit pull
コマンドを使用して、いつでもインストールを最新バージョンにアップグレードできます。
cd ~/.rbenv git pull
これにより、利用可能な最新バージョンのrbenvを使用していることが保証されます。
ステップ6–Rubyバージョンのアンインストール
Rubyの追加バージョンをダウンロードすると、~/.rbenv/versions
ディレクトリに必要以上のバージョンが蓄積される可能性があります。 ruby-build
プラグインのuninstall
サブコマンドを使用して、これらの以前のバージョンを削除します。
次のコマンドは、Rubyバージョン3.0.2をアンインストールします。
rbenv uninstall 3.0.2
rbenv uninstall
コマンドを使用すると、古いバージョンのRubyをクリーンアップして、現在使用している以上のインストールが行われないようにすることができます。
ステップ7–rbenvをアンインストールする
rbenvを使用しないことにした場合は、システムから削除できます。
これを行うには、最初にエディターで~/.bashrc
ファイルを開きます。 この例では、nano
を使用します。
nano ~/.bashrc
次の2行を見つけて、ファイルから削除します。
〜/ .bashrc
... export PATH="$HOME/.rbenv/bin:$PATH" eval "$(rbenv init -)"
これらの行を削除した後、ファイルを保存してエディターを終了します。 nano
を使用した場合は、CTRL + X
、Y
、ENTER
の順に押すと終了できます。
次に、次のコマンドを使用して、rbenvとインストールされているすべてのRubyバージョンを削除します。
rm -rf `rbenv root`
ログアウトして再度ログインし、シェルに変更を適用します。
結論
このチュートリアルでは、rbenv
とgem
をインストールして、RubyonRailsフレームワーク全体をインストールしました。 ここから、Web開発アプリケーションプロジェクトの作成を開始できます。 これらの環境をより堅牢にする方法について詳しく知りたい場合は、Rubyでコーディングする方法のシリーズをご覧ください。