macOSでrbenvを使用してRubyonRailsをインストールする方法
序章
Ruby on Rails は、サイトやWebアプリの作成を検討している開発者に人気のあるアプリケーションスタックです。 Rubyプログラミング言語をRails開発フレームワークと組み合わせることで、アプリ開発を迅速かつ効率的に行うことができます。
RubyとRailsをインストールする1つの方法は、コマンドラインツールrbenvを使用することです。 rbenvを使用すると、Ruby on Railsアプリケーションを開発するための適切に制御された堅牢な環境が提供され、必要に応じてチーム全体のRubyのバージョンを簡単に切り替えることができます。
rbenvは、Rubyのアプリケーション固有のバージョンを指定するためのサポートを提供し、ユーザーごとにグローバルRubyを変更できるようにし、環境変数を使用してRubyバージョンをオーバーライドできるようにします。
このチュートリアルでは、rbenvを使用して、ローカルのmacOSマシンにRubyonRailsをインストールしてセットアップします。
前提条件
このチュートリアルに従うには、次のものが必要です。
- macOSがインストールされた1台のコンピューターまたは仮想マシンで、そのマシンへの管理アクセスとインターネット接続があります。 このチュートリアルは、 macOS 10.14Mojaveでテストされています。
- MacOSでNode.jsをインストールしてローカル開発環境を作成する方法で説明されているように、MacOSマシンにNode.jsがインストールされています。 Asset Pipeline などのいくつかのRails機能は、JavaScriptランタイムに依存しています。 Node.jsはこの機能を提供します。
ステップ1—rbenvをインストールする
このステップでは、rbenvをインストールし、起動時に自動的に起動することを確認します。 macOSでこれを行うために、このチュートリアルではパッケージマネージャーHomebrewを使用します。
Homebrewでrbenv
パッケージをダウンロードするには、次のコマンドを実行します。
- brew install rbenv
これにより、rbenvと[ruby-build]( https://github.com/rbenv/ruby-build )プラグインがインストールされます。 このプラグインは、rbenv install
コマンドを追加します。これにより、Rubyの新しいバージョンのインストールプロセスが合理化されます。
次に、コマンドeval "$(rbenv init -)"
を~/.bash_profile
ファイルに追加して、ターミナルを開いたときにrbenvが自動的にロードされるようにします。 これを行うには、お気に入りのテキストエディタで.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" "[email protected]")"
;;
*)
command rbenv "$command" "[email protected]"
;;
esac
}
この時点で、マシンにrbenvとruby-buildの両方がインストールされています。 これにより、次の手順でコマンドラインからRubyをインストールできるようになります。
ステップ2—Rubyをインストールする
これでruby-buildプラグインがインストールされたので、1つのコマンドで必要なRubyのバージョンをインストールできます。 このステップでは、Rubyのバージョンを選択し、それをマシンにインストールしてから、インストールを確認します。
まず、-l
フラグを使用して、使用可能なすべてのバージョンのRubyを一覧表示します。
- rbenv install -l
そのコマンドの出力は、インストールすることを選択できるバージョンの長いリストになります。
このチュートリアルでは、Ruby 2.6.3をインストールします。
- rbenv install 2.6.3
Rubyのインストールは時間のかかるプロセスになる可能性があるため、インストールが完了するまでに時間がかかるように準備してください。
インストールが完了したら、global
サブコマンドを使用してRubyのデフォルトバージョンとして設定します。
- rbenv global 2.6.3
バージョン番号を確認して、Rubyが正しくインストールされていることを確認します。
- ruby -v
出力は次のようになります。
Outputruby 2.6.3p62 (2019-04-16 revision 67580) [x86_64-darwin18]
別のバージョンのRubyをインストールして使用するには、rbenv install 2.3.0
やrbenv global 2.3.0
などの別のバージョン番号でrbenv
コマンドを実行します。
これで、Rubyの1つのバージョンがインストールされ、デフォルトのRubyバージョンが設定されました。 次に、Rubyパッケージとライブラリ、または gems を使用するように設定します。これにより、Railsをインストールできるようになります。
ステップ3—宝石の操作
Gems は、Rubyエコシステム全体に配布できるRubyライブラリとプログラムのパッケージです。 gem
コマンドを使用して、これらの宝石を管理します。 このステップでは、gem
コマンドを構成して、Railsのインストールの準備をします。
gemをインストールすると、インストールプロセスでローカルドキュメントが生成されます。 これにより、各gemのインストールプロセスにかなりの時間がかかる可能性があるため、この機能をオフにする構成設定を含む~/.gemrc
というファイルを作成して、ローカルドキュメントの生成をオフにします。
- echo "gem: --no-document" > ~/.gemrc
これが完了したら、gem
コマンドを使用して、プロジェクトのgem依存関係を管理するツールであるBundlerをインストールします。 これは、Railsが正しく機能するために必要です。
- gem install bundler
次のような出力が表示されます。
OutputFetching: bundler-2.0.2.gem
Successfully installed bundler-2.0.2
1 gem installed
gem env
コマンドを使用して、gemの環境と構成について詳しく知ることができます。 インストールされているgemの場所を確認するには、次のようにhome
引数を使用します。
- gem env home
次のような出力が表示されます。
/Users/sammy/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0
これで、gemワークフローを設定して調査したので、Railsを自由にインストールできます。
ステップ4—Railsのインストール
Railsをインストールするには、gem install
コマンドと-v
フラグを使用してバージョンを指定します。 このチュートリアルでは、バージョン5.2.3
を使用します。
- gem install rails -v 5.2.3
gem
コマンドは、指定したgemとすべての依存関係をインストールします。 Railsは複雑なWeb開発フレームワークであり、多くの依存関係があるため、プロセスが完了するまでに時間がかかります。 最終的に、Railsがインストールされていることを示すメッセージとその依存関係が表示されます。
Output...
Successfully installed rails-5.2.3
38 gems installed
注:別のバージョンのRailsをインストールする場合は、検索を実行して有効なバージョンのRailsを一覧表示できます。これにより、可能なバージョンの長いリストが出力されます。 次に、4.2.7などの特定のバージョンをインストールできます。
- gem search '^rails$' --all
- gem install rails -v 4.2.7
Railsの最新バージョンをインストールする場合は、バージョンを指定せずにコマンドを実行します。
- gem install rails
rbenvは、 shims のディレクトリ、または呼び出しをインターセプトして変更またはリダイレクトするライブラリを作成することによって機能します。 この場合、shimは、現在有効になっているRubyバージョンで使用されているファイルをRubyコマンドにポイントします。 rehash
サブコマンドを介して、rbenvはそのディレクトリにシムを維持し、サーバーにインストールされているすべてのバージョンのRubyのすべてのRubyコマンドと一致させます。 新しいバージョンのRubyまたはRailsなどのコマンドを提供するgemをインストールするときは常に、rehash
を使用する必要があります。
シムのディレクトリを再ハッシュするには、次のコマンドを実行します。
- rbenv rehash
次のコマンドを使用してバージョンを印刷することにより、Railsのインストールを確認します。
- rails -v
インストールされたRailsのバージョンが表示されます。
OutputRails 5.2.3
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が自動的に更新します。 セットアップがすでに最新の場合、次のような出力が得られます。
OutputError: rbenv 1.1.2 already installed
Error: ruby-build 20190615 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を使用してRubyonRailsをインストールしました。 ここから、 Rubyでコーディングする方法シリーズを使用して、Rubyでのコーディングについて詳しく知ることができます。 また、デフォルトのsqlite3データベースではなく、 PostgreSQLでRubyonRailsを使用する方法を調べることもできます。これにより、アプリケーションのスケーラビリティ、集中化、および安定性が向上します。