はじめに
Ruby on Railsは、サイトやWebアプリを作成したい開発者に人気のあるアプリケーションスタックです。 Rubyプログラミング言語とRails開発フレームワークを組み合わせることで、アプリの開発が迅速かつ効率的に行えます。
RubyとRailsをインストールする方法の一つは、コマンドラインツールrbenvを使用することです。 rbenvを使用すると、必要に応じて作業中のRubyのバージョンを簡単に切り替えることができ、Ruby on Railsアプリケーションの開発に適した、よく制御された堅牢な環境が提供されます。
rbenvは、アプリケーション固有のRubyのバージョンを指定するサポートを提供し、各ユーザーのグローバルなRubyを変更することができ、環境変数を使用してRubyのバージョンを上書きすることができます。
このチュートリアルでは、rbenvを使用して、ローカルのmacOSマシンにRuby on Railsをインストールして設定します。
前提条件
このチュートリアルに従うには、次のものが必要です。
- macOSがインストールされたコンピューターまたは仮想マシン1台、そのマシンへの管理者アクセス権限、およびインターネット接続。 このチュートリアルは、macOS 12.4 Montereyでテストされています。
- Node.jsは、macOSマシンにインストールされており、macOSでNode.jsをインストールしてローカル開発環境を作成する方法で説明されています。いくつかのRailsの機能、例えばAsset Pipelineは、JavaScriptランタイムに依存しています。Node.jsはこの機能を提供します。
- また、macOSマシンにはHomebrewパッケージマネージャーがインストールされています。
ステップ1 — rbenvのインストール
このステップでは、rbenvをインストールし、起動時に自動的に起動するようにします。macOSでは、このチュートリアルではパッケージマネージャーHomebrewを使用します。
rbenv
パッケージをHomebrewでダウンロードするには、次のコマンドを実行します:
- 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
を開きます。
- nano .bash_profile
次の行をファイルに追加します:
eval "$(rbenv init -)"
ファイルを保存して終了します。
次に、~/.bash_profile
ファイルに行った変更を現在のシェルセッションに適用します:
- source ~/.bash_profile
rbenvが正しく設定されていることを確認するには、type
コマンドを使用します。これにより、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
}
この時点で、rbenvとruby-buildの両方がマシンにインストールされています。これにより、次の手順でコマンドラインからRubyをインストールできるようになります。
ステップ2 — Rubyのインストール
今、ruby-buildプラグインがインストールされているため、単一のコマンドを使用して必要なRubyのバージョンをインストールできます。この手順では、Rubyのバージョンを選択し、マシンにインストールし、インストールを確認します。
まず、利用可能なRubyのバージョンを一覧表示するために-l
フラグを使用します。一覧にない最近のマイナーバージョンも利用可能な場合があります。たとえば、このコマンドの出力にRuby 3.0.5
がリストされている場合、3.0.4
もインストールできる可能性が高いです。
- rbenv install -l
Output2.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のインストールには時間がかかることがありますので、インストールが完了するまでお待ちください。
インストールが完了したら、global
サブコマンドを使用してデフォルトのRubyバージョンに設定します:
- rbenv global 3.1.2
正しくRubyがインストールされたかどうかは、バージョン番号を確認することで確認できます:
- ruby -v
出力は以下のようになります:
Outputruby 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
というファイルを作成し、この機能を無効にする構成設定を含めます:
- echo "gem: --no-document" > ~/.gemrc
これで、gem
コマンドを使用してBundlerをインストールします。これはプロジェクトのためのジェムの依存関係を管理するツールで、Railsが正しく機能するために必要です:
- gem install bundler
次のような出力が表示されます:
OutputFetching: bundler-2.3.18.gem
Successfully installed bundler-2.3.18
1 gem installed
gem env
コマンドを使用してジェムの環境と構成について詳細を知ることができます。インストールされたジェムの場所を表示するには、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
コマンドは指定したジェムとそのすべての依存関係をインストールします。Railsは複雑なWeb開発フレームワークであり、多くの依存関係があるため、プロセスは完了するまでに時間がかかります。最終的に、Railsおよびその依存関係がインストールされたというメッセージが表示されます:
Output...
Successfully installed rails-7.0.3.1
35 gems installed
注意: インストールする別のバージョンのRailsを表示するには、検索を実行して有効なRailsのバージョンをリストアップできます。これにより、可能なバージョンの長いリストが出力されます。次に、-v
フラグを使用して特定のバージョン(例:4.2.7)をインストールできます。
- 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のインストール状態を確認します。
- rails -v
インストールされたRailsのバージョンが表示されます。
OutputRails 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が自動的に行います。セットアップがすでに最新である場合は、次のような出力が表示されます:
OutputWarning: rbenv 1.2.0 already installed
Warning: ruby-build 20220713 already installed
これにより、利用可能な最新のrbenvのバージョンを使用することが確実になります。
さらに、追加のRubyバージョンをダウンロードすると、~/.rbenv/versions
ディレクトリに望ましくない数のバージョンが蓄積される場合があります。ruby-buildプラグインのuninstall
サブコマンドを使用すると、これらの以前のバージョンを削除できます。
たとえば、次のコマンドを実行してRubyバージョン2.1.3をアンインストールします:
- rbenv uninstall 2.1.3
rbenv uninstall
コマンドを使用して、現在使用していない古いバージョンの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
次の出力が表示されます:
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