善川の備忘録

自分のための備忘録ブログ

M1 MacにてRails Serverを起動するまでの設定まとめ

以前まで使用していたiMac 2013がついに限界を迎えたためM1 Mac miniに乗り換えました。 ARMベースのSoCになったため今まで通りにはいきません。 Rails Serverを動かすまでの記録を残しておきます。

homebrewのインストール

まずはXcodeのインストール。

xcode-select --install

公式サイトを参考にhomebrewをインストール。 brew.sh

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

homebrewがインストールできたらパスを追加します。

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile

ちゃんとパスが記載できたか確認してみます。

cat ~/.zprofile
# -> eval "$(/opt/homebrew/bin/brew shellenv)"

brewコマンドが動作するか確認してインストール完了です。

brew -v
# -> Homebrew 3.1.3
# -> Homebrew/homebrew-core (git revision 17beddfefc; last commit 2021-04-25)

rbenvをインストール

Rubyのバージョン管理ツールrbenvをインストールします。

brew install ruby-build rbenv

.zshrcにrbenvの設定を追記します。

vi .zshrc
# 以下追加
export RBENV_ROOT=$(brew --prefix rbenv) 
export PATH=$RBENV_ROOT/bin:$PATH
eval "$(rbenv init -)"
# 以上

Rubyをインストール

Rubyをインストールします。

# 以下v2.6.4の例
rvenv install 2.6.4
# インストール後にバージョン設定
rvenv local 2.6.4
# バージョン確認
ruby -v
# -> ruby 2.6.4p104 (2019-08-28 revision 67798) [-darwin20]

Railsをインストール

BundlerとRailsをインストールします。

gem install bundler
gem install rails 
# バージョン確認
rails -v
# -> Rails 6.1.3.2

Node.jsをインストール

これが一番詰まりました。。。 Node.jsのバージョン管理ツールnodebrewがM1に対応していなかったからです。 以下のように対応していきます。

nodebrewをインストール

まずはnodebrewのインストール。 homebrew経由でインストールします。

brew install nodebrew

Node.jsをインストール

まずは詰まったケースを載せておきます。

# 環境設定ファイルを作成
nodebrew setup
# Node.jsのインストール
nodebrew install-binary v12.14.0
# -> Error: Darwin arm64 is not supported.

そのままではインストールができなかったので以下のサイトを参考にコンパイルして使用する。 zenn.dev

# コンパイルする。(かなり時間かかります)
nodebrew compile v12.14.0
# コンパイル完了後セットする。
nodebrew set v12.14.0
# パスを追加する。
vi ~/.zshrc
# 以下追加
export PATH=$HOME/.nodebrew/current/bin:$PATH
# 以上
# パスを読み込む
source ~/.zshrc
# Node.jsのバージョン確認
node -v
# -> v12.14.0

Railsアプリケーションを作成

Railsアプリケーションを作成します。

rails new test_app
# -> An error occurred while installing nokogiri (1.11.7), and Bundler cannot continue.
# -> Make sure that `gem install nokogiri -v '1.11.7' --source 'https://rubygems.org/'` succeeds before bundling.
# -> Run `bundle install` to install missing gems.

nokogiriのインストールに失敗しています。手動でインストールしていきます。

gem install nokogiri -- --use-system-libraries
# この状態でRails Serverを立ち上げようとするとエラーが出るためもう一度gemをインストールし直しました
# Gemfile.lockを削除
rm Gemfile.lock
bundle install

Rails Server立ち上げ

Rails Serverを立ち上げようとすると以下のエラーが出ました。

rails s
# -> Webpacker configuration file not found ../test_app/config/webpacker.yml. Please run rails webpacker:install Error: No such file or directory @ realpath_rec - ../test_app/config/webpacker.yml (RuntimeError)

指示通りにwebpackerをインストールします。

# yarnが必要なため導入
brew install yarn
# webpackerインストール
rails webpacker:install

Rails Serverを立ち上げます。

rails s

無事Rails Serverが立ち上がりました! f:id:aftereffects:20210607124821p:plain