macOS に rbenv を使用して Ruby on Rails をインストールする方法

はじめに

Ruby on Railsは、サイトやWebアプリを作成したい開発者に人気のあるアプリケーションスタックです。 Rubyプログラミング言語とRails開発フレームワークを組み合わせることで、アプリの開発が迅速かつ効率的に行えます。

RubyとRailsをインストールする方法の一つは、コマンドラインツールrbenvを使用することです。 rbenvを使用すると、必要に応じて作業中のRubyのバージョンを簡単に切り替えることができ、Ruby on Railsアプリケーションの開発に適した、よく制御された堅牢な環境が提供されます。

rbenvは、アプリケーション固有のRubyのバージョンを指定するサポートを提供し、各ユーザーのグローバルなRubyを変更することができ、環境変数を使用してRubyのバージョンを上書きすることができます。

このチュートリアルでは、rbenvを使用して、ローカルのmacOSマシンにRuby on Railsをインストールして設定します。

前提条件

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

ステップ1 — rbenvのインストール

このステップでは、rbenvをインストールし、起動時に自動的に起動するようにします。macOSでは、このチュートリアルではパッケージマネージャーHomebrewを使用します。

rbenvパッケージをHomebrewでダウンロードするには、次のコマンドを実行します:

  1. brew install rbenv

これにより、rbenvと[ruby-build] (https://github.com/rbenv/ruby-build)プラグインがインストールされます。このプラグインは、新しいバージョンのRubyのインストールプロセスを簡素化するrbenv installコマンドを追加します。これにはいくつかの他の依存関係がインストールされ、時間がかかる場合があります。

次に、Terminalを開いたときにrbenvが自動的に読み込まれるように、eval "$(rbenv init -)"コマンドを~/.bash_profileファイルに追加します。これを行うには、nanoまたはお気に入りのテキストエディタで.bash_profileを開きます。

  1. nano .bash_profile

次の行をファイルに追加します:

~/.bash_profile
eval "$(rbenv init -)"

ファイルを保存して終了します。

次に、~/.bash_profileファイルに行った変更を現在のシェルセッションに適用します:

  1. source ~/.bash_profile

rbenvが正しく設定されていることを確認するには、typeコマンドを使用します。これにより、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 }

この時点で、rbenvとruby-buildの両方がマシンにインストールされています。これにより、次の手順でコマンドラインからRubyをインストールできるようになります。

ステップ2 — Rubyのインストール

今、ruby-buildプラグインがインストールされているため、単一のコマンドを使用して必要なRubyのバージョンをインストールできます。この手順では、Rubyのバージョンを選択し、マシンにインストールし、インストールを確認します。

まず、利用可能なRubyのバージョンを一覧表示するために-lフラグを使用します。一覧にない最近のマイナーバージョンも利用可能な場合があります。たとえば、このコマンドの出力にRuby 3.0.5がリストされている場合、3.0.4もインストールできる可能性が高いです。

  1. rbenv install -l
Output
2.6.10 2.7.6 3.0.4 3.1.2 jruby-9.3.6.0 mruby-3.1.0 picoruby-3.0.0 rbx-5.0 truffleruby-22.1.0 truffleruby+graalvm-22.1.0

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

このチュートリアルでは、Ruby 3.1.2 をインストールします:

  1. rbenv install 3.1.2

Rubyのインストールには時間がかかることがありますので、インストールが完了するまでお待ちください。

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

  1. rbenv global 3.1.2

正しくRubyがインストールされたかどうかは、バージョン番号を確認することで確認できます:

  1. ruby -v

出力は以下のようになります:

Output
ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]

別のバージョンのRubyをインストールして使用するには、rbenv コマンドを異なるバージョン番号で実行し、rbenv install 2.7.6 および rbenv global 2.7.6 などと入力します。

これでRubyのバージョンが1つインストールされ、デフォルトのRubyバージョンが設定されました。次に、Rubyのパッケージとライブラリ、または gems と呼ばれるものと連携するための準備を整えます。

ステップ3 — Gemsの操作

Gems はRubyのライブラリとプログラムのパッケージで、Rubyエコシステム全体に配布できます。これらのgemsを管理するには、gem コマンドを使用します。このステップでは、Railsのインストールに備えて gem コマンドを設定します。

ジェムをインストールすると、インストールプロセスはローカルのドキュメントを生成します。これは各ジェムのインストールプロセスにかなりの時間を追加する可能性があるため、この機能を無効にするには、~/.gemrcというファイルを作成し、この機能を無効にする構成設定を含めます:

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

これで、gemコマンドを使用してBundlerをインストールします。これはプロジェクトのためのジェムの依存関係を管理するツールで、Railsが正しく機能するために必要です:

  1. gem install bundler

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

Output
Fetching: bundler-2.3.18.gem Successfully installed bundler-2.3.18 1 gem installed

gem envコマンドを使用してジェムの環境と構成について詳細を知ることができます。インストールされたジェムの場所を表示するには、home引数を使用します:

  1. gem env home

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

/Users/sammy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0

これで、ジェムのワークフローを設定し、探索したので、Railsをインストールする準備が整いました。

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

Railsをインストールするには、gem installコマンドを使用します:

  1. gem install rails

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

Output
... Successfully installed rails-7.0.3.1 35 gems installed

注意: インストールする別のバージョンのRailsを表示するには、検索を実行して有効なRailsのバージョンをリストアップできます。これにより、可能なバージョンの長いリストが出力されます。次に、-vフラグを使用して特定のバージョン(例:4.2.7)をインストールできます。

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

rbenvは、シム、または呼び出しをインターセプトして変更またはリダイレクトするライブラリを作成することで機能します。この場合、シムは現在有効なRubyバージョンで使用されるファイルにRubyコマンドを指します。rehashサブコマンドを介して、rbenvはそのディレクトリ内のシムを維持し、サーバー上のインストールされたすべてのRubyバージョンでRubyコマンドに対応させます。新しいバージョンのRubyまたはRailsなどのコマンドを提供するgemをインストールするたびに、rehashを使用する必要があります。

シムのディレクトリを再ハッシュするには、次のコマンドを実行します。

  1. rbenv rehash

このコマンドでRailsのバージョンを表示して、Railsのインストール状態を確認します。

  1. rails -v

インストールされたRailsのバージョンが表示されます。

Output
Rails 7.0.3.1

Railsが正常にインストールされたら、Ruby on Railsのインストールをテストし、Webアプリケーションの開発を開始できます。次のステップでは、rbenvとRubyの更新およびアンインストール方法を学びます。

ステップ5 — rbenvとRubyの更新とアンインストール

プロジェクトをメンテナンスする際には、必要に応じて更新やアンインストール方法を知っておくと便利です。この手順では、まずrbenvをアップグレードし、次にマシンからRubyとrbenvをアンインストールします。

次のコマンドを実行して、Homebrewを使用してrbenvとruby-buildをアップグレードできます:

  1. brew upgrade rbenv ruby-build

rbenvまたはruby-buildを更新する必要がある場合、Homebrewが自動的に行います。セットアップがすでに最新である場合は、次のような出力が表示されます:

Output
Warning: rbenv 1.2.0 already installed Warning: ruby-build 20220713 already installed

これにより、利用可能な最新のrbenvのバージョンを使用することが確実になります。

さらに、追加のRubyバージョンをダウンロードすると、~/.rbenv/versionsディレクトリに望ましくない数のバージョンが蓄積される場合があります。ruby-buildプラグインのuninstallサブコマンドを使用すると、これらの以前のバージョンを削除できます。

たとえば、次のコマンドを実行してRubyバージョン2.1.3をアンインストールします:

  1. rbenv uninstall 2.1.3

rbenv uninstallコマンドを使用して、現在使用していない古いバージョンのRubyをクリーンアップできます。

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

これを行うには、まずエディタで~/.bash_profileファイルを開きます:

  1. nano ~/.bash_profile

ターミナルを開くとrbenvが起動しないように、ファイルから次の行を見つけて削除します:

~/.bash_profile
...
eval "$(rbenv init -)"

この行を削除したら、ファイルを保存してエディタを終了します。

次のコマンドを実行して、シェルに変更を適用します:

  1. source ~/.bash_profile

次に、次のコマンドでrbenvとすべてのインストール済みRubyバージョンを削除します:

  1. rm -rf `rbenv root`

最後に、Homebrewでrbenvパッケージ自体を削除します:

  1. brew uninstall rbenv

rbenvのバージョンを確認して、アンインストールされたことを確認します:

  1. rbenv -v

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

Output
-bash: /usr/local/bin/rbenv: No such file or directory

これは、マシンからrbenvを正常に削除したことを意味します。

結論

このチュートリアルでは、macOSでrbenvを使用してRuby on Railsをインストールしました。ここから、Rubyでのコーディングについてさらに学ぶことができます。シリーズの中で。Ruby on Railsを使用して、デフォルトのsqlite3データベースではなく、PostgreSQLを使用する方法も探索できます。これにより、アプリケーションに対してよりスケーラビリティ、集中化、および安定性が提供されます。

Source:
https://www.digitalocean.com/community/tutorials/how-to-install-ruby-on-rails-with-rbenv-on-macos