この記事はmacOSにRuby on Railsの開発環境をセットアップするための方法を書いています。
目次
概要
macOS 12 MontereyにRuby on Railsの開発環境をセットアップします。
記事作成時点での最新バージョンをインストールします。
macOSのバージョンがこれより古い場合でもほとんどが互換性があります。もしエラーなどの問題が発生した場合はGoogleで検索してみましょう。「mac rails <エラー内容>」などで解決策が見つかる可能性は高いです。
またインストールの作業はターミナルで行います。
もしターミナルやコマンドラインが分からない場合は先にProgateのCommand Line 基礎編やGit等で学習すると良いと思います。
ターミナルでZSHを使うようにする
最新のmacOSではターミナルのデフォルトがBashからZSHになっています。そのため、 ~/.bash_profile
ではなく~/.zshrc
に設定を追加していく必要があります。
まずは自分のmacがBashまたはZSHどちらを使用しているか調べます。以下のコマンドを実行します。
$ echo $SHELL
# /bin/zsh
echo $SHELL
と実行して/bin/zsh
と表示されれば既にZSHを使用しています。
もしZSHを使用していなければ、ターミナルでZSHを使用するように変更するため以下のコマンドを実行します。
$ chsh -s /bin/zsh
この時にパスワードの入力を求められたら入力してください。
Homebrewをインストールする
次にHomebrewをインストールする必要があります。Homebrewは様々なソフトウェアをmacOSに簡単にインストールするためのもので、パッケージ管理システムと呼ばれています。
Homebrewを動かすにはXcode Command Line Toolsというものが必要です。これはHomebrewをインストールする際に一緒にインストールされます。
もし「Xcode Command Line Toolsをインストールするか」といった英語が表示されたら指示に従ってインストールしてください。
ターミナルで以下のコマンドを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
インストールには結構な時間がかかります。
Homebrewがインストールできたか確認するには、ターミナルで以下のコマンドを実行します。
$ brew -v
# Homebrew 3.4.11
# Homebrew/homebrew-core (git revision 6e07b7383f3; last commit 2022-05-22)
# Homebrew/homebrew-cask (git revision f99483ed76; last commit 2022-05-22)
3.4.11のような数字(数字は何でも良い)が表示されていればインストール完了です。
Rubyをインストールする
Ruby 3.1.2をインストールします。
Homebrewをインストールしたので、これを使ってRubyをインストールすることができます。
Rubyには様々なバージョンがあり、それらを管理できるようにrbenvを使用します。
ターミナルで以下のコマンドを実行します。
$ brew install rbenv ruby-build
続いて、ターミナルを開くたびにrbenvが読み込まれるようにZSHに設定を追加します。
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.zshrc
$ source ~/.zshrc
Rubyのインストールとデフォルトのバージョンを指定するために、ターミナルで以下のコマンドを実行します。
インストールには結構な時間がかかります。
$ rbenv install 3.1.2
$ rbenv global 3.1.2
Rubyのインストールとデフォルトのバージョンが設定されたことを確認するために、ターミナルで以下のコマンドを実行します。
$ ruby -v
# ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-darwin21]
3.1.2という数字が表示されていればインストール完了です。
もしうまくいかない場合は、ターミナルを再起動すると解決することがあります。
Gitを設定する
バージョン管理システムにはGitを使用するので、Githubのアカウントと合わせて設定しておきます。
もしGithubのアカウントを持っていない場合は、将来的にも役に立つので必ず登録しましょう。こちらから登録できます。
ターミナルで以下のコマンドを実行します。
なお、YOUR NAMEとYOUR@EMAILの部分はGithubに登録したものに変えて実行してください。
$ git config --global color.ui true
$ git config --global user.name "YOUR NAME"
$ git config --global user.email "YOUR@EMAIL.com"
$ ssh-keygen -t rsa -C "YOUR@EMAIL.com"
次に新しく生成されたSSHキーをGithubに設定します。
ターミナルで以下のコマンドを実行して、表示内容をコピーしてください。
$ cat ~/.ssh/id_rsa.pub
# ssh-rsa <ランダムな長い文字列>
必ずssh-rsaから最後までコピーします。
Githubのこちらにアクセスして「New SSH key」ボタンを押してコピーした内容を貼り付けて保存します。下の画像を参考にしてください。
ここまで終わったら、うまくできたかを確認します。ターミナルで以下のコマンドを実行してください。
$ ssh -T git@github.com
次のようなメッセージが表示されれば完了です。
Hi harayama-developmer! You've successfully authenticated, but GitHub does not provide shell access.
Railsをインストールする
Rails 7.0.2.4をインストールします。
ターミナルで以下のコマンドを実行してください。
$ gem install rails -v 7.0.2.4
Railsがインストールされたか確認するために、ターミナルで以下のコマンドを実行してください。
$ rails -v
# Rails 7.0.2.4
もし上記のような表示にならなかった場合は、rbenv rehashを実行するか、ターミナルを再起動すると解決することがあります。
データベースのセットアップ
Railsで使用する主なデータベースは3種類あります。
- sqlite3 (デフォルト)
- MySQL
- PostgreSQL
sqlite3
sqlite3はデフォルトのデータベースとしてRailsと一緒にインストールされますが、macOSではバージョンによってはうまく動かない場合があるためHomebrewでインストールします。
ではsqlite3をインストールします。ターミナルで以下のコマンドを実行してください。
$ brew install sqlite3
これだけでRailsの開発はスタートできますが、sqlite3はデータの保存をディスク上(Railsが動いているコンピュータ上)にします。
そのため、本番環境では別途データベースサーバーを作るのが一般的です。この時にMySQLやPostgreSQLが選択肢になります。
会社によってどちらかに決まっていたりしますが、そうでなければ自分が使いやすい方を選択すれば良いです。
初心者の場合やデータベースに不慣れな場合は、PostgreSQLを使用することをお勧めします。
MySQL
MySQLはHomebrewを使ってインストールすることができます。
$ brew install mysql
インストールが完了すると、いくつかのコマンドが実行できるようになります。
Railsで開発するためには予めMySQLが起動しておく必要があります。
MySQLを起動させるには、ターミナルで以下のコマンドを実行します。
$ brew services start mysql
また、デフォルトのユーザー名はroot
となっておりパスワードなしでアクセスできます。
PostgreSQL
PostgreSQLはHomebrewを使ってインストールすることができます。
$ brew install postgresql
インストールが完了すると、いくつかのコマンドが実行できるようになります。
Railsで開発するためには予めPostgreSQLが起動しておく必要があります。
PostgreSQLを起動させるには、ターミナルで以下のコマンドを実行します。
$ brew services start postgresql
また、デフォルトのユーザー名はmacOSのユーザー名となっておりパスワードなしでアクセスできます。例えば、現在ログインしているmacのユーザー名がsato
なら、その名前でアクセスできます。
最初のRailsアプリを作成する
さて、準備が整いました。
myappという名前で、最初のRailsアプリケーションを作成してみましょう。
$ rails new myapp
### hotwireをインストールしない場合
$ rails new myapp --skip-hotwire
### MySQLを使いたい場合
$ rails new myapp -d mysql
### PostgreSQLを使いたい場合
# あとで必ずconfig/database.ymlのusernameを
# macにログインしているユーザー名に変更する必要があります。
$ rails new myapp -d postgresql
上記コマンドを実行すると新しくmyappという名前のディレクトリが作成されます。
ターミナルでmyappというディレクトリに移動します。
$ cd myapp
MySQLまたはPostgreSQLを使用している場合は、config/database.ymlのusernameやpasswordを指定したものに変更して保存する必要があります。
次にmyapp用のデータベースを作成します。
ターミナルで以下のコマンドを実行してください。
$ rails db:create
もしここで、Access denied for user XXXX
といったような表示になった場合は、config/database.ymlのusernameとpasswordが正しいか確認してください。
最後にRailsサーバーを起動します。
ターミナルで以下のコマンドを実行してください。
$ rails s
http://localhost:3000/ にアクセスして次のような表示になっていれば成功です。
これでmacOSでのセットアップは完了です。
Ruby on Railsでアプリケーションの開発をスタートできます。
このmyappは学習用として色々と試してみるのに使うのが良いと思います。
補足
別のRailsアプリを作りたい場合は、一度現在のディレクトリから移動してください。
$ cd ..
# 一つ上のディレクトリに移動する
$ cd
# ホームディレクトリに移動する
まとめ
この記事ではmacOSにRuby on Railsをインストールする方法を書きました。
インストールした手順は以下の通りです。
- ターミナルでZSHを使うように設定する
- Homebrewをインストールする
- Rubyをインストールする
- Gitを設定する
- Railsをインストールする
- データベースのセットアップ
- 最初のRailsアプリを作成する
これでmacOSでRuby on Railsを使ったアプリケーション開発の準備ができました。
次のステップとしては、Railsガイドを読みながらRailsについて詳しく学ぶことをお勧めします。
スポンサーリンク