「Ubuntu 20.04でrbenvを使用してRuby on Railsをインストールする方法」
はじめに
Ruby on Railsは、ウェブサイトやウェブアプリケーションを作成したい開発者にとって最も人気のあるアプリケーションスタックの一つです。Rubyプログラミング言語とRails開発フレームワークの組み合わせにより、スケーラブルなアプリケーションを迅速に構築・展開することが可能です。
コマンドラインツールrbenvを使用することで、RubyとRailsをインストールすることができます。rbenvを使用することにより、Ruby on Railsアプリケーションの開発に安定した環境を提供し、チーム全体が同じバージョンを使用し続けることができます。また、rbenvはアプリケーションごとにバージョンを指定するサポートも提供し、各ユーザーのグローバルなRubyを変更することも可能です。さらに、環境変数を使用してRubyバージョンを上書きするオプションもあります。
このチュートリアルでは、rbenvとgemを使用してRubyとRailsのインストール手順を案内します。まず、rbenvとRubyをインストールするための適切なパッケージをインストールします。次に、ruby-buildプラグインをインストールして利用可能なバージョンのRubyをインストールします。最後に、gemを使用してRailsをインストールし、Ruby on Railsを使用してウェブ開発を開始できます。また、rbenvのバージョンが最新かどうかを確認する方法や、Rubyのバージョンとrbenvをアンインストールする方法についても手順を提供します。
前提条件
このチュートリアルに従うには、必要なものは次の通りです:
- One Ubuntu 20.04 server set up by following the Ubuntu 20.04 initial server setup guide, including a sudo non-root user and a firewall.
- Node.js installed using the official PPA, as explained in option 2 of How To Install Node.js on Ubuntu 20.04. A few Rails features, such as the Asset Pipeline, depend on a JavaScript Runtime. Node.js provides this functionality.
ステップ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自体をインストールすることができます。Githubからインストールスクリプトを取得し、それをbashに直接パイプしてインストーラーを実行します。
- curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
次に、$PATHに~/.rbenv/binを追加して、rbenvコマンドラインユーティリティを使用できるようにします。これは、~/.bashrcファイルを変更して、将来のログインセッションに影響を与えるようにします。
- echo ‘export PATH=”$HOME/.rbenv/bin:$PATH”‘ >> ~/.bashrc
その後、~/.bashrcファイルにコマンド eval “$(rbenv init -)” を追加してください。そうすることで、rbenvが自動的に読み込まれます。
- echo ‘eval “$(rbenv init -)”‘ >> ~/.bashrc
次に、あなたが~/.bashrcファイルに加えた変更を現在のシェルセッションに適用してください。
- source ~/.bashrc
rbenvコマンドに関するより詳しい情報を表示するために、typeコマンドを実行してrbenvが正しくセットアップされているか確認してください。
- type rbenv
あなたのターミナルウィンドウには、次のものが表示されます。
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 }
現時点では、rbenvとruby-buildの両方がインストールされています。次に、Rubyをインストールしましょう。
ステップ2 – ruby-buildを使用してRubyをインストールする
現在、ruby-buildプラグインがインストールされているので、1つのコマンドで必要なRubyのバージョンをインストールすることができます。まず、利用可能なすべてのRubyのバージョンをリストアップしてください。
- rbenv install -l
そのコマンドの出力は、インストールできるバージョンのリストとなります。
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 2.7.6 をインストールしましょう。
- rbenv install 2.7.6
Rubyのインストールは、時間がかかることがあるので、インストールが完了するまで時間に余裕をもって準備してください。
インストールが完了したら、グローバルサブコマンドを使用して、デフォルトのRubyバージョンとして設定してください。
- rbenv global 2.7.6
Rubyのバージョン番号を確認して、正しくインストールされているかを検証してください。
- ruby -v
もしもあなたがRubyのバージョン2.7.6をインストールしている場合、このコマンドを実行すると、以下のような出力が返されます。
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux]
以下の内容を日本語で自然な文に言い換えます。一つのオプションで提供します:
Rubyの少なくとも1つのバージョンがインストールされ、デフォルトのRubyバージョンが設定されました。次に、gemとRailsのセットアップを行います。
ステップ3:ジェムと一緒に作業する
宝石は、Rubyのライブラリが配布される方法です。これらの宝石を管理するためにgemコマンドを使用し、このコマンドを使ってRailsをインストールします。
ジェムをインストールすると、インストールプロセスによってローカルのドキュメントが生成されます。これにより、各ジェムのインストールプロセスにかなりの時間が追加される場合があるため、この特徴をオフにするために、~/.gemrcというファイルを作成し、設定を記述してください。
- echo “gem: –no-document” > ~/.gemrc
Bundlerはプロジェクトのジェムの依存関係を管理するツールです。Railsはそれに依存しているため、次にBundlerジェムをインストールしてください。
- gem install bundler
以下の出力を受け取ります。
Fetching bundler-2.2.27.gem Successfully installed bundler-2.2.27 1 gem installed
環境とgemの設定について詳しく知るために、gem envコマンド(envはenvironmentの略)を使用できます。home引数を使用することで、gemのインストール先を確認することができます。例えば、以下のようにしてください。
- gem env home
これと似たような出力を受け取ることになります。
/home/sammy/.rbenv/versions/2.7.6/lib/ruby/gems/2.7.0
ジェムがセットアップされたら、Railsをインストールすることができます。
ステップ4 – Railsのインストール
Railsをインストールするには、バージョンを指定するために-gem installコマンドと-vフラグを使用します。このチュートリアルでは、バージョン6.1.4.1を使用します。
- gem install rails -v 6.1.4.1
gemコマンドは、指定したgemだけでなく、その依存関係もインストールします。Railsは複雑なウェブ開発フレームワークであり、多くの依存関係があるため、プロセスの完了には時間がかかるでしょう。最終的に、Railsとその依存関係がインストールされたことを示すメッセージが表示されます。
… Successfully installed rails-6.1.4.1 37 gems installed
Note
gem search ‘^rails$’ –all
gem install rails -v 4.2.7
最新バージョンのRailsをインストールしたい場合は、バージョンを指定せずにコマンドを実行してください:
gem install rails
rbenvは、現在有効なRubyバージョンで使用されるファイルを指すshimのディレクトリを作成することによって機能します。rehashサブコマンドを介して、rbenvはそのディレクトリ内のshimを、サーバー上のすべてのインストール済みのRubyバージョンにわたるすべてのRubyコマンドに対応させます。新しいバージョンのRubyをインストールするか、Railsと同様にコマンドを提供するgemをインストールする場合は、以下を実行する必要があります。
- rbenv rehash
以下のコマンドを使用して、Railsが正しくインストールされているかを確認し、そのバージョンを表示してください。
- rails -v
正しくインストールされていれば、このコマンドはインストールされたRailsのバージョンを返します。
Rails 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のバージョン2.7.6がアンインストールされます。
- rbenv uninstall 2.7.6
rbenv uninstallコマンドを使用することで、現在使用しているバージョンよりも多くのRubyバージョンがインストールされていないように、古いバージョンをクリーンアップすることができます。
ステップ7 – rbenvのアンインストール
もしrbenvを使わなくなったと決めた場合は、システムから削除することができます。
これを行うには、まずエディタで~/.bashrcファイルを開きます。この例ではnanoを使用します。
- nano ~/.bashrc
ファイルから以下の2行を見つけて削除してください。 (Fairu kara ika no nijū ichi gyo o mitsukete sakujo shite kudasai.)
~/.bashrc
...
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
これらの行を削除した後、ファイルを保存してエディターを終了してください。もしnanoを使用している場合は、CTRL + Xを押してからYとENTERを押すことで終了することができます。
以下のコマンドを使用して、rbenvとインストールされたRubyのすべてのバージョンを削除してください。
- rm -rf `rbenv root`
ログアウトして、シェルの変更を適用させるために再ログインしてください。
結論として
このチュートリアルでは、rbenvとgemをインストールして、Ruby on Railsフレームワーク全体をインストールしました。これで、ウェブ開発アプリケーションプロジェクトの作成を始めることができます。環境をより堅牢にする方法について詳しく学びたい場合は、当社の「Rubyでのコーディング方法」シリーズをチェックしてください。