こんにちは!初投稿です!
今回は半日近く格闘をしたrailsの環境構築の話を備忘録を兼ねてお話ししたいと思います。
環境はDockerで構築しました。
Dockerを立ち上げるまで
$cd 作業フォルダ
$docker compose build
$docker compose up -d
上記で、Dockerを立ち上げていきます。
Dockerに入る
$docker compose exec web bash
諸々インストール
$bundle install
$yarn install
上記で、構築に必要なものをインストールしていきます。
bunle⇨ライブラリをインストール
yarn⇨パッケージを一括管理できる
エラーが起きたコマンド
$bin/rails db:create
こちらを入力した際、下記のエラーが発生した。
Caused by:
Mysql2::Error::ConnectionError: Unknown MySQL server host 'db' (-2)
どうやら、'db'なんていうホスト名に接続できないというエラー。
database.yamlとdocker-compose.ymlのホスト名をチェック
database.yml
default: &default
adapter: mysql2
encoding: utf8mb4
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: password
host: db
version: '3'
services:
db:
image: mysql:5.7
platform: linux/amd64
environment:
TZ: Asia/Tokyo
MYSQL_ROOT_PASSWORD: password
volumes:
- mysql_data:/var/lib/mysql
ports:
- 3307:3306
合ってそう。。。
解決した方法
-MacOSをアップデート
マックOSのversionが13だったのですが、14だと動いたという情報を見つけアップデート
そして
$bin/rails db:create
すると、
Mysql2::Error: Host '172.21.0.4' is not allowed to connect to this MySQL server
違うエラーが出てきた。。。一歩前進したのか後進したのかわからないのですが、情報を集めDockerのimageが古いものを参照している可能性があるとのことで、以下のコマンドを実行
$docker volume rm VOLUME NAME
$$bin/rails db:create
すると、
入れたー!(成功した時のlog撮り忘れちゃいました)
めちゃくちゃ時間がかかりましたが、いろいろな解決策を学べて今回qiitaにも投稿することができたので、結果オーライかなと思います。qiitaの上位にいる方達のように面白い記事が書けたらなーと思います。