【2024】Ruby on Rails6 初心者が初めてのローカル開発環境構築【Mac】

<br>RailsチュートリアルでGitのcodespacesを使用して学習していましたが、ローカルに環境構築して使ってみたくなったのでやってみました。

ruby -vで最新バージョンが表示されず、１日エラーにハマったのがいい思い出です。

--パソコンスペック--
MacBook Air
M2チップ
8GB
macOS Sonoma

## 手順

① Command Line Toolsをインストール
② Homebrewをインストール
③ rbenvをインストール
④ Rubyをインストール
⑤ MySQLをインストール
⑥ Ruby on Railsをインストール
⑦ Bundlerをインストール
⑧ yarnをインストール
⑨ webpackerをインストール
⑩ Node.jsをインストール

１つのフレームワークを使うために、こんなにたくさんのインストールが必要・・・

何かをインストールすれば、その何かを管理する何かが必要で・・・という感じで付属物が多い。

環境構築の方法は以下のサイトに沿って行なっています。
説明もありわかりやすい。

https://pikawaka.com/rails/curriculums-wakatter-mac-env-rails6#%E5%BF%85%E8%A6%81%E3%81%AA%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2

### Command Line Toolsをインストール

ターミナルを開いて下のコマンドを入力
```
xcode-select install
```
手順に沿ってインストールを完了させる。
```
xcode-select -v
```
versionの数字が表示されれば成功。

### Homebrewをインストール

https://qiita.com/haruharuQii/items/c0249c5c8613e2f31f96

こちらの記事で書いたので割愛。

```
brew -v
```
versionの数字が出力されれば完了。

### rbenvをインストール

rbenvはRubyの複数バージョンを管理するツール。
詳しくは、[こちら]("https://mogulla3.tech/articles/2021-07-10-understanding-rbenv-1/)がわかりやすい。

```
brew install rbenv
```
installing rbenvが表示されれば完了。

PATHを通す作業が必要。
（自分のシェルがzshの場合。bashは最後のところが変わるので注意。自分のシェルを知るにはターミナルでecho $SHELL)
```
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
```
上記２つのパスをそれぞれ実行したら変更を反映。
```
source ~/.zshrc
```

### Rubyをインストール
インストール可能なバージョンを確認する。
```
rbenv install --list
```
新しい順に3つくらい出てくる。全部のバージョンが見たければ
```
rbenv install --list-all
```
私は3.3.3が最新だったので選択。（この後の行程でうまくいかず、他バージョンに変更した）
```
rbenv install 3.3.3
```
バージョンを指定してインストール。
installed ruby -3.3.3 〜〜〜〜が出力されれば完了。
```
rbenv versions
```
インストール済みのバージョンを確認する。
*マークが現在適用しているバージョンで、macはデフォルトで入っているRubyがあるため、それが選択されているので変更する。
```
rbenv global 3.3.3
```
```
rbenv rehash
```
(rehashはshimsディレクトリに変更を反映させ、rbenvが適切なバージョン管理を行えるようにする)
もう一度rbenv versionsを実行して使用したいバージョンの左側に＊がついているか確認。
```
Ruby -v
```
使用したいバージョンが表示されれば完了。

私は*は適切なのに、Ruby -vすると古いバージョンが表示され、かなりエラー解消に苦労した。
結果、3.3.3をやめて古いバージョン(2.7.5)でインストールし直したら上手くいった。

エラー解消のため、参考にした記事。

https://qiita.com/lei90/items/3465b177632416cca1fe

https://qiita.com/moich/items/79c75b5a80080c869876

.ruby-versionに気づいたこの方すごい・・・！
ほとんど多くの記事などでパスが正しくないと書かれていたので、まずはwhich rubyを実行して/usr/bin/となっていたらパスを通す手順をやるのが良さそう。

### MySQLをインストール
Macにデフォルトで入っているSQLiteを使用する場合はスキップ可。
```
brew install mysql@バージョン
```
現在は8.0.37が最新？
インストールできたらパスを通す作業をする。
```
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
```
```
source ~/.zshrc
```
完了。

### Ruby on Railsをインストール
```
gem install rails -v 'バージョンを指定'
```
インストールできたら下記実行。
```
rbenv rehash
```
rails -vでバージョンが表示されれば完了。
### Bundlerをインストール
BundlerはGemのバージョン管理をする。Rubyのrbenvと同じような役割？
```
gem install bundler
```
bundle -vしてバージョンが出れば完了。
###  yarn,webpacker,Node.jsをインストール
以下順に実行。
```
brew install yarn
```

```
rails webpacker:install
```

```
brew install nodebrew
```
nodebrew -vでバージョンが出たらセットアップをする。
```
nodebrew setup
```
Node.jsをインストール
```
nodebrew install-binary stable
```
nodebrew -vでバージョンを確認。使用するバージョンを以下コマンドで指定する。
```
nodebrew use vバージョンの数字
```
PATHを通せば完了。
```
echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
```
## まとめ
Rubyの最新バージョンを指定できなくてとても苦労しました。
途中何度もPATHを通して、vimのお片付けして、globalとlocalを変更して、permissionの確認して・・・
結局バージョンを変更することで上手くいきました。
それ以外は大きなトラブルなく、手順通りで成功したので一安心。
大変だったと思って書いたけどスタックしたのは一部で、あとは手順の書き写しみたいになってしまったなあ。