はじめに
環境構築はエラーが出ることが多く、その原因の特定も困難であるため完了までに時間がかかってしまうことがありますが、その都度エラー文をしっかりと確認し、一つ一つ解消していけばいつかは必ず環境構築ができますので粘り強く対応してみてください。
本記事に私自身が環境構築をした際に調べた事項について併せて記載していますので参考にしてください。
また、エラーを解消するために情報収集をする際にはGitHubのissueも確認するようにしてください。
Railsの環境構築(M1 mac)
Homebrewをインストール
画像の赤枠部分をコピーしターミナルに貼り付け、実行します。
パスワードを要求された場合には、ご自身のパソコンのパスワードを入力してください。
インストールが完了したら、PATHを通します。
インストールの際に出力されているメッセージの中に以下のような記述があると思いますので探してecho
から始まる文とeval
から始まる文をコピー&ペーストして実行します。
==> Next steps:
Add Homebrew to your PATH in /Users/ユーザー名/.zprofile:
echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/ユーザー名/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)
以降、ターミナルに入力し実行が必要なスクリプトの前に$
を表記しています。
$
を除いてその後の1文を入力して実行してください。
$ echo 'eval $(/opt/homebrew/bin/brew shellenv)' >> /Users/ユーザー名/.zprofile
$ eval $(/opt/homebrew/bin/brew shellenv)
注意
パスにユーザー名が含まれていますので、上記をコピーするのではなく、ご自身の環境で出力されている文章をコピーして実行してください。
PATHを通したらbrew -v
をターミナルで実行し、インストールできているか確認を行います。
以下のように表示されたらインストールが完了しています。(表示されている数字は異なることがありますが、問題ありません。)
$ brew -v
Homebrew 3.3.10
Homebrew/homebrew-core (git revision 47665856b64; last commit 2022-01-13)
Homebrew/homebrew-cask (git revision dd2bc9a030; last commit 2022-01-13)
rbenvをインストール
rubyのバージョン切り替えを容易に行えるようにするためにrbenvをインストールします。
$ brew install rbenv
インストールが完了したら、インストールされているか確認します。
以下のように表示されればインストールが完了しています。(数字は異なる場合があります。)
$ rbenv --version
rbenv 1.2.0
続いてrbenvコマンドを利用するためにPATHを通します。
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc
$ source ~/.zshrc
~/.zshrc
は、ターミナルを開くときに最初に読み込まれるファイルです。
PATHを通す処理や初期化コマンド等を記述します。
Rubyをインストール
Rubyのインストールを行う前に、先ほどインストールしたrbenvを使用してインストールできるRubyのバージョンを確認します。
$ rbenv install -l
2.6.9
2.7.5
3.0.3
3.1.0
jruby-9.3.2.0
mruby-3.0.0
rbx-5.0
truffleruby-21.3.0
truffleruby+graalvm-21.3.0
今回は3.1.0をインストールします。
$ rbenv install 3.1.0
注意
Railsのv5を使用する場合には、Rubyは2.7.5以前のバージョンを指定してください。
Railsのv5はv3のRubyに対応していないようで、ここでRubyのv3をインストールすると後々エラーが出ます。
詳細については以下のissueをご確認ください。
BUILD FAILED 〜
と表示されてインストールができない場合
私の環境(macOS 12.2.1(Monterey))でrbenv install 3.1.0
を実行した際にBUILD FAILED
のエラーが出てRubyがインストールできませんでした。
解消した方法を以下の記事に記載しましたので同じようなエラーが出た方は参考にしてください。
インストールができたら、グローバルで利用するバージョンを設定します。
$ rbenv global 3.1.0
プロジェクトごとにバージョンを設定する場合
プロジェクトごとにRubyのバージョンを設定する場合には該当のディレクトリに移動してglobal
の代わりにlocal
を使用します。
Bundlerをインストール
gemのバージョンやgemの依存関係を管理するためにBundlerをインストールします。
Bundlerをインストールするには以下を実行します。
$ gem install bundler
インストールが完了したらインストールできているか確認します。(バージョンは異なる可能性があります。)
$ bundler -v
Bundler version 2.3.3
yarnをインストール
Rails6のJavaScriptのコンパイラがWebpackerであるため、yarn又はnpmが必要になります。
Railsでは標準でyarnを使用しているため、今回はyarnをインストールします。
yarnをインストールすることでyarnコマンドを使用することができるようになります。
$ brew install yarn
インストールが完了したらインストールができているか確認します。数字が表示されればインストールができています。
$ yarn -v
1.22.17
Railsをインストール
最後にRailsをインストールします。
$ gem install rails
Railsのバージョン指定
バージョンを指定しないでインストールすると最新バージョンがインストールされます。
他のバージョンをインストールしたい場合には指定する必要があります。
e.g. $ gem install rails -v 6.1.4.6
また、インストールできるバージョンの確認は以下のコマンドで、バージョンに関する詳細については以下のURLより確認することができます。
$ gem search -r ^rails$ -a
*** REMOTE GEMS ***
rails (7.0.2.2, 7.0.2.1, 7.0.2, 以下省略)
インストールが完了したら、インストールできているか確認します。
$ rails -v
Rails 7.0.2.2
Railsアプリケーションを作成する
デスクトップ等に適当にフォルダ(今回はrails_appフォルダ)を作成し、作成したフォルダに新規アプリケーションを作成します。
フォルダを作成した後にターミナルにcd
と入力した後に作成したフォルダをターミナルにドラッグ&ドロップすることで以下のように記述されます。
$ cd '/Users/ユーザー名/Desktop/rails_app'
上記を実行すると以下のように%又は$の前にフォルダ名が表示されます。
rails_app $
表示が変わっていることを確認したら新しいアプリケーションを作成するために以下を実行します。
$ rails new test_app
今回はtest_app
としていますが、test_app
の箇所に任意のアプリケーション名を記述します。
実行すると最初に作成したフォルダ(今回はrails_appフォルダ)内にtest_appフォルダが作成されます。
Railsのバージョン指定
新規アプリケーションを作成する際にRailsのバージョン指定をすることができます。
e.g. $ rails 6.1.4.6 new test_app
尚、バージョンを指定して作成するにはご自身の環境に指定したバージョンのRailsがインストールされている必要があります。
また、バージョン指定以外にもapiモードでアプリケーションを作成したり、使用するデータベースを指定したりすることができます。特別な設定が必要な場合には別途検索してください。
test_appフォルダが作成されていることを確認したら、以下を実行し、test_appフォルダに移動します。
$ cd test_app
実行すると%又は$の前にtest_app
と表示されます。
表示されたことを確認したら以下を実行します。
$ rails s
=> Booting Puma
=> Rails 7.0.2.2 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.2 (ruby 3.1.0-p0) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 000000
* Listening on http://000.0.0.0:3000
* Listening on http://[::0]:3000
Use Ctrl-C to stop
Listening on
の後に表示されるURLをcommand + クリック
で開くか、http://localhost:3000 にアクセスしてください。
以下のような画面が表示されれば正常に動作しています。(Railsのバージョンによって表示される画面は異なるようです。)
もし、上記の画面ではなく、エラー画面が表示された場合にはエラー文をよく読み、対応してください。
真っ白な画面が表示されてしまった場合には、ターミナルにエラー文が出力されていると思いますのでターミナルに戻り確認してください。
正常に動作していることが確認できたら、ターミナルに戻りctrl + c
でPuma(Webサーバー)を停止して完了です。