Ruby on Rails 6の環境を構築してみた(macOS)

やったことまとめ

  • brewのアップデート
  • Ruby2.6.2のinstallとglobal設定
  • bundlerのupdate
  • railsプロジェクトの作成
  • yarnのインストール
  • webpackerのインストール
  • Webpackerで使うNode.jsのバージョンを上げる

ハマったこと(解決策は「参考」のページを参照)

  • railsコマンドが通らない
Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
  • mysqlのgemが入らない
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

参考

手順詳細

brewのアップデート

 こういう作業においては儀式的にやる。railsをいじっているだけではほとんどやらないので。

$ brew update

Ruby2.6.2のinstallとglobal設定

# インストール
$ rbenv install 2.6.2

# 2.6.2をglobalで使う(他では違うバージョンを使う場合はlocalにする)
$ rbenv global 2.6.2

# 変更を反映
$ rbenv rehash

bundlerのupdate

# 使用中のバージョンを確認
$ bundle -v
=> Bundler version 2.0.1

# アップデート
$ gem update bundler

# バージョン確認
$ bundle -v
=> Bundler version 2.2.17

railsプロジェクトの作成

# プロジェクトのディレクトリを作る
$ mkdir プロジェクト名

# 作ったディレクトリに移動する
$ cd プロジェクト名

# Gemfileを作る
$ bundle init
=> Gemfileができる

# Gemfileを編集する
$ vi Gemfile
------------------
# frozen_string_literal: true

source "https://rubygems.org"

git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }

gem "rails" <=ここのコメントアウトを外す
------------------

# bundle経由でrailsをインストール
$ bundle install --path=vendor/bundle

# バージョンの確認
$ bundle exec rails -v
=> Rails 6.1.3.2

# カレントディレクトリにプロジェクトを作成(dbはmysql)
$ bundle exec rails new . -d mysql
=> プロジェクトが作成される

yarnのインストール

 webpackerのインストールを行うためにyarnを入れる。

brew install yarn

webpackerのインストール

$ bundle exec rails webpacker:install

Webpackerで使うNode.jsのバージョンを上げる

 webpackerのインストールでNode.jsのバージョンがあってないと言われたら対応する。

$ bundle exec rails webpacker:install
=> Webpacker requires Node.js ">=10.17.0" and you are using v10.15.2
Please upgrade Node.js https://nodejs.org/en/download/

# 安定バージョンのNode.jsをインストールする
$ nodebrew install-binary stable

# インストールしたNode.jsを確認する
$ nodebrew ls

# インストールしたやつをuseにする
$ nodebrew use v16.1.0

# 再度webpackerをインストールする
$ bundle exec rails webpacker:install
=> とおるはず

サーバーを立ち上げてブラウザでアクセスする

# サーバーを立ち上げる
$ bundle exec rails s

# DBがない場合は作る
$ bundle exec rails db:create

できた!! f:id:spreadthec0ntents:20210512095654p:plain