macOSでrbenvを使用してRuby on Railsをインストールする方法は次の通りです。
はじめに
Ruby on Railsは、サイトやWebアプリケーションを作成したい開発者にとって人気のあるアプリケーションスタックです。Rubyプログラミング言語とRails開発フレームワークの組み合わせにより、アプリ開発が迅速かつ効率的に行えます。
RubyとRailsをインストールする方法の一つは、コマンドラインツールのrbenvを使用することです。rbenvを使用すると、Ruby on Railsアプリケーションの開発において管理された安定した環境を提供し、必要に応じて簡単に作業中のRubyのバージョンを切り替えることができます。
rbenvは、Rubyのアプリケーションごとのバージョンを指定する機能を提供し、各ユーザーのグローバルなRubyを変更することができます。また、環境変数を使ってRubyのバージョンを上書きすることも可能です。
このチュートリアルでは、rbenvを使用してローカルのmacOSマシンにRuby on Railsをインストールしてセットアップします。
前提条件
このチュートリアルに従うためには、以下のものが必要です。
- One computer or virtual machine with macOS installed, with administrative access to that machine and an internet connection. This tutorial has been tested on macOS 12.4 Monterey.
- Node.js installed on your macOS machine, as explained in How to Install Node.js and Create a Local Development Environment on macOS. A few Rails features, such as the Asset Pipeline, depend on a JavaScript Runtime. Node.js provides this functionality.
- The Homebrew package manager installed on your macOS machine.
ステップ1- rbenvのインストール
このステップでは、rbenvをインストールし、起動時に自動的に起動することを確認します。macOSでは、このチュートリアルではパッケージマネージャーのHomebrewを使用します。
Homebrewを使用してrbenvパッケージをダウンロードするには、次のコマンドを実行してください。
- brew install rbenv
これにより、rbenvと[ruby-build](https://github.com/rbenv/ruby-build)プラグインがインストールされます。このプラグインには、新しいバージョンのRubyのインストールプロセスを簡略化するrbenv installコマンドが追加されます。これにはいくつかの依存関係がインストールされる場合があり、時間がかかることがあります。
次に、ターミナルを開くときにrbenvが自動でロードされるようにするために、eval “$(rbenv init -)”のコマンドを~/.bash_profileファイルに追加します。これを行うためには、nanoやお気に入りのテキストエディタで.bash_profileを開きます。
- nano .bash_profile
ファイルに以下の行を追加してください。
ホームディレクトリの.bash_profile
eval "$(rbenv init -)"
ファイルを保存して終了してください。
次に、~/.bash_profile ファイルに行った変更を現在のシェルセッションに適用してください。
- source ~/.bash_profile
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をインストールする
以下は、nativeな日本語でのパラフレーズです。一つのオプションで十分です:
ruby-buildプラグインをインストールしたら、単一のコマンドを使用して必要なバージョンのRubyをインストールできます。このステップでは、Rubyのバージョンを選択し、マシンにインストールし、インストールを確認します。
最初に、-l フラグを使用して利用可能な Ruby のバージョンを一覧表示してください。なお、一覧に表示されていない最近のマイナーバージョンも利用可能な場合があります。例えば、このコマンドの出力に Ruby 3.0.5 が表示されている場合、おそらく 3.0.4 もインストールすることができるでしょう。
- rbenv install -l
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をインストールします。
- rbenv install 3.1.2
Rubyをインストールするには時間がかかる可能性があるため、インストールが完了するまでには時間がかかることに備えてください。
インストールが完了したら、グローバルサブコマンドを使用して、それをRubyのデフォルトバージョンに設定してください。
- rbenv global 3.1.2
Rubyのバージョン番号を確認して、正しくインストールされたことを確認してください。
- ruby -v
「あなたの出力は、おおよそこんな感じになります。」
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パッケージやライブラリ(ジェム)を使用するための環境設定を行い、それによってRailsをインストールする準備を整えます。
ステップ3 — ジェムを使用する
ジェムは、ルビーエコシステム全体にわたって配布できる、ルビーライブラリとプログラムのパッケージです。これらのジェムを管理するために、ジェムコマンドを使用します。この手順では、Railsのインストールに備えてジェムコマンドを設定します。
ジェムをインストールすると、インストールプロセスはローカルのドキュメントを生成します。これにより、各ジェムのインストールにかなりの時間がかかる場合がありますので、この機能を無効にするために「~/.gemrc」というファイルを作成し、その中に設定を記述することで、ローカルドキュメントの生成を無効にすることができます。
- echo “gem: –no-document” > ~/.gemrc
それが完了したら、gemコマンドを使用してBundlerをインストールします。Bundlerはプロジェクトのgemの依存関係を管理するツールです。これはRailsが正しく動作するために必要です。
- gem install bundler
このような出力が表示されます。
Fetching: bundler-2.3.18.gem Successfully installed bundler-2.3.18 1 gem installed
環境やgemの設定について詳しく知りたい場合は、gem envコマンドを使用できます。インストールされたgemの場所を確認するには、home引数を使用して次のようにします。
- gem env home
これに似た出力が表示されます。
/Users/sammy/.rbenv/versions/3.1.2/lib/ruby/gems/3.1.0
あなたがジェムのワークフローをセットアップし、探索したところ、Railsをインストールする自由が与えられます。
ステップ4 — Railsのインストール
Railsをインストールするには、gem installコマンドを使用してください。
- gem install rails
gemコマンドは指定したgemをインストールするだけでなく、その依存関係も全てインストールします。Railsは複雑なウェブ開発フレームワークであり、多くの依存関係があるため、完了までには時間がかかります。最終的にはRailsがインストールされていることと、その依存関係が表示されるメッセージが表示されます。
… Successfully installed rails-7.0.3.1 35 gems installed
Note
gem search ‘^rails$’ –all
gem install rails -v 4.2.7
rbenvは、シムやライブラリのディレクトリを作成して、呼び出しを変更またはリダイレクトすることで機能します。この場合、シムはRubyのコマンドを現在有効なRubyバージョンで使用されるファイルに向けます。rehashサブコマンドを通じて、rbenvはサーバー上のすべてのインストールされたRubyバージョンにわたって、すべてのRubyコマンドに対応するシムをそのディレクトリ内に維持します。新しいRubyのバージョンやRailsなどのコマンドを提供するgemをインストールする際には、rehashを使用する必要があります。
「シムのディレクトリを再検討するには、以下のコマンドを実行してください。」
- rbenv rehash
このコマンドを使ってRailsのバージョンを表示して、インストールが正しく行われているかを確認してください。
- rails -v
インストールされたRailsのバージョンが表示されます。
Rails 7.0.3.1
Railsを正常にインストールすると、Ruby on Railsのインストールのテストを開始し、Webアプリケーションの開発を始めることができます。次のステップでは、rbenvとRubyの更新やアンインストール方法について学びます。
ステップ5 — rbenvとRubyのアップデートとアンインストール
プロジェクトを保守する際には、必要に応じてアップデートやアンインストールの方法を知っていると便利です。この手順では、まず、rbenvをアップグレードし、次にRubyとrbenvをマシンからアンインストールします。
以下のコマンドを実行することで、Homebrewを使用してrbenvとruby-buildをアップグレードすることができます。
- brew upgrade rbenv ruby-build
もしrbenvまたはruby-buildの更新が必要な場合、Homebrewが自動的に行います。もし設定がすでに最新であれば、以下のような出力が表示されます。
Warning: rbenv 1.2.0 already installed Warning: ruby-build 20220713 already installed
これにより、私たちは利用可能な最新バージョンのrbenvを使用していることが保証されます。
Rubyの追加バージョンをダウンロードする際には、~/.rbenv/versionsディレクトリに望ましくないほど多くのバージョンが蓄積される場合があります。ruby-buildプラグインのアンインストールサブコマンドを使用すると、これらの前のバージョンを削除することができます。
例えば、以下のコマンドを実行して Ruby バージョン 2.1.3 をアンインストールします。
- rbenv uninstall 2.1.3
rbenvのアンインストールコマンドを使用すると、現在使用しているバージョン以外の古いRubyのバージョンを削除できます。
もし、もうrbenvを使用したくないと決めた場合、システムから削除することができます。
これを行うには、まずエディタであなたの ~/.bash_profile ファイルを開いてください。
- nano ~/.bash_profile
ターミナルを開いたときにrbenvが起動しないよう、以下の行を見つけてファイルから削除してください。
...
eval "$(rbenv init -)"
この行を削除したら、ファイルを保存してエディターを終了してください。
シェルに変更を適用するには、以下のコマンドを実行してください。
- source ~/.bash_profile
次に、このコマンドを使ってrbenvとインストールされたRubyのすべてのバージョンを削除してください。
- rm -rf `rbenv root`
最後に、Homebrewを使ってrbenvパッケージ自体を削除してください。
- brew uninstall rbenv
アンインストールされていることを確認するために、rbenvのバージョンをチェックしてください。
- rbenv -v
以下の出力が得られます。
-bash: /usr/local/bin/rbenv: No such file or directory
これは、rbenvが完全にあなたのマシンから削除されたことを意味します。
結論
このチュートリアルでは、macOSでrbenvを使用してRuby on Railsをインストールしました。これから、How To Code in Rubyシリーズを通じて、Rubyでのコーディングについてさらに学ぶことができます。また、デフォルトのSQLite3データベースではなく、PostgreSQLを使用してRuby on Railsを活用する方法についても探求することができます。これにより、アプリケーションのスケーラビリティ、集中化、および安定性が向上します。