これまでwindowsユーザーでrails触るならlinux環境が良いよと言われ、当方金が無くUbuntuでrailsを触ってきましたが、ついに(?)macが格安で手に入ったので、準備することにしました。
専門家では無いので、間違い等あったら申し訳ないです;;
#導入環境
MacBook Air (13-inch, Early 2015)
プロセッサ 1.6 GHz デュアルコアIntel Core i5
メモリ 8 GB 1600 MHz DDR3
グラフィックス Intel HD Graphics 6000 1536 MB
macOS Big Sur バージョン 11.3
#手順
今回は、過去の失敗を活かしてスムーズに構築出来るように以下手順を踏むことにした。
- command line toolを使う(?)ようなので、xcodeをインストール
- 必要なソフトウェアをインストールするためにHomebrewをインストール
- RubyはHomebrew経由rbenvにてインストール
- railsはgem経由でインストール
- MySQLをHomebrew経由でインストール (これまではSQLiteのみで製作してました)
- PATHを通す
- 新しいプロジェクトを作成する
- エラー吐き出しまくってたので以下を導入
- MySQLはスタートしないと動かないよ!
#1. Xcodeのインストール
iOSアプリとか開発するのに使うようですが、command Line Toolを使う過程でインストールを求められた為インストールしてます。
#2. Homebrewインストール
Homebrewのサイト
https://brew.sh/index_ja
以下コマンドを入力しHomebrewを導入(時間かかります)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
#3. rbenv インストール
超簡単に言うと、rbenvはRubyのバージョン管理ツールです。 ※簡単にしか言えない←
一緒にruby-buildも一緒にインストールします。
brew install rbenv ruby-build
#Rubyのインストール
rbenv install ruby - *.*.*
..*には、
rbenv install --list
コマンドでインストール可能なリストを取得し、好きなバージョン入れてください。
今回は、初めてruby 3.0.1を導入してみました。
#今どのrubyが実行されるようになっているか確認
rbenv global
今回インストールしたのが3.0.1だったので、
rbenv global 3.0.1
として指定
#4. rails インストール
gem経由でインストールします
gem install rails -v 5.2.3
#5. MySQL インストール
SQLiteを卒業したくて導入してみました。(悲劇の始まり、、、)
brew install mysql
ここまでは
何も悩まず導入。
導入時のバージョンは
Ruby 3.0.1
Rails 5.2.3
MySQL 8.0.23
#6. PATHを通す
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
設定を反映
source ~/.bash_profile
#7. 新しいプロジェクトを作成する
rails new . -d mysql --skip-bundle
bundle install
#8. エラー吐き出しまくってたので以下を導入
brew install node
brew install yarn
rails webpacker:install
#9. MySQLはスタートしないと動かないよ!
実はここが一番盲点でして、、、
当たり前のことのようですがSQLiteはrails sコマンド打てば作動してたので、、、
また、それでも動かなかったので、エラーコード読み解くと、DB作成されてないよ!とのことでしたので以下コマンドも追加
mysql.server start
rails db:create
ここまでやってURLを叩くと、ようやくいつもの画面出ました!
#以下参考とさせて頂いたサイト
先人達の知恵・知識に感謝しかありません
https://qiita.com/NaokiIshimura/items/8203f74f8dfd5f6b87a0
https://rails-ambassador.herokuapp.com/debugs/NoDatabaseError
https://qiita.com/hujuu/items/3d600f2b2384c145ad12
https://qiita.com/rokumura7/items/b270acb9550efddd5fe5