概要
Rails6でMySQLを使おうとして、bundle install して、失敗したときの解決方法です。
誰かの参考になれば嬉しいです!
前提条件
Node v12.17.0
Ruby v3.0.0
Rails v6.0.3.7
macOS Big Sur
手順
- openssl対応
- mySQLをダウンロード
- zshrcに保存
- readline導入
1. openssl対応
OpenSSLとは、SSLプロトコル・TLSプロトコルの、オープンソースで開発・提供されるソフトウェアである。
mysqlにSSLアクセスできるように設定しましょう。
bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl@1.1/lib --with-cppflags=-I/usr/local/opt/openssl@1.1/includ\n'
bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl@1.1/lib --with-cppflags=-I/usr/local/opt/openssl@1.1/includ"
2. MySQLをダウンロード
brew install mysql@5.7
echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.zshrc
sudo chown -R `whoami`:admin /usr/local/bin
3. zshrcに保存
macOS Catalina から、Mac は zsh をデフォルトのログインシェルおよびインタラクティブシェルとして使うようになりました。こちらは、Catalina 以上の人の処理になります。
echo 'eval "$(rbenv init -)"' >> ~/.zshrc
source ~/.zshrc
4. readlineを導入
こちらを導入することでRailsがうまく動作します。
readlineとは、1度に1行ずつデータを読み取るためのインターフェースを提供します(Node: https://nodejs.org/api/readline.html )
brew install readline
brew link readline --force
5. bundle installを実行
で成功します!( sudoが必要できたら追加してください。)
最後に
3年ぶりのRails環境構築で少し苦労しました。
一回やっていると仕組みが固まっているから、スルスル書き始められました!
みなさんもよい開発ライフを〜