1
0

More than 3 years have passed since last update.

rails new から rails s を実行するまで

Posted at

初めに

rails newからrails sを実行するまでに数々のエラーと遭遇したのでメモ。
分かりづらいところ多々あると思いますが、エラーが解決し終わって書いてるので
どうかご容赦を。
温かい目で見守ってください。

総括

大事なのは真摯にエラーと向き合うこと
エラー画面には解決のヒントがたくさん載ってること
検索の仕方を変えてみると意外とヒットする
英語で検索した方がヒントが多い
エラーが解決した時の喜びは大きい。
(難易度の高いゲームをクリアした時の喜びに近い)
ググる方法は以下の記事が大変参考になりました!
https://qiita.com/y_tom/items/1b54d4e1a9a5f3fab402

開発環境

MacBook Pro
ruby2.6.6
rails6.1.1
mysql8.0

エラー①

rails new を実行
gem nokogiri で問題発生(その時のエラー画面は残し忘れました)

https://qiita.com/dskst/items/b1f073fcffeca3bc9fc6
https://nokogiri.org/tutorials/installing_nokogiri.html#other-installation-scenarios

この記事を参考にエラー解決に挑戦
作者と同様に〇〇やってみた、を一つ一つ実行

結果

sudo NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri -- --use-system-libraries --with-iconv-dir="$(brew --prefix libiconv)" --with-xml2-config="$(brew --prefix libxml2)/bin/xml2-config" --with-xslt-config="$(brew --prefix libxslt)/bin/xslt-config"

を実行することにより解決

エラー②

改めてrails new を実行
エラー画面を読むとwebpackerに問題あり?
と読めたがyarnがないのが問題だと気づく。

https://qiita.com/yokota02210301/items/293edf9e730f98fe633d
https://qiita.com/NaokiIshimura/items/8203f74f8dfd5f6b87a0

この2つの記事を参考にyarnのインストール、webpackerの再インストールを実行
.confingの権限をroot → user に変える作業も必要

エラー③

rails new を実行 → 作成できた!
rails s を実行して画面が出るか確認 → エラー

Access dinied 'root'@'localhost'(passward: yes)
の問題

passwordが間違ってますよ、って言ってるみたいです。

rootのpasswordの再設定を試みる
https://dev.mysql.com/doc/refman/8.0/en/resetting-permissions.html

kill `cat /mysql-data-directory/host_name.pid`

はエラーになって弾かれたので、

sudo kill `cat /mysql-data-directory/host_name.pid`

を実行 → 出来た!

続いて、

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

を実行するも、ALTER がcommand not found
で弾かれる。(UPDATEも同様)

https://itips.krsw.biz/mac-zsh-command-not-found-error-reason-and-solution/
https://qiita.com/iwaseasahi/items/6e00883ccd0864ede17e

この記事を参考に
コマンド実行ファイルと検索パスを確認

どちらも異常なし。

usr/local/bin/rbenv
の中に
!/usr/bin/env bash の記述があったので
shellをzshからbashに切り替えて試行

それでもcommand not found

結局、mysqlを再インストールしました。
mysqlの初期設定でパスワードをコピペして実行すると弾かれる、らしい。
その時は再インストールするしかないみたい。

エラー④

rails s を実行
permisson denied
となったので
root → user
に権限を変更

エラー⑤

rails s を実行
load error
が発生

そしてなぜかMySQLにアクセス出来なくなってる
https://qiita.com/carotene4035/items/e00076fe3990b9178cc0
この記事と同様の問題だった。

.pidファイルを作成
mysql.server restart
で解決

エラー⑥

rails s を実行

Access denied for user 'blog'@'localhost' to database 'blog_development'

が発生。
mysqlリファレンスを見て要因を探ったが、解決に至らず。
そもそも、アクセス先を作ってないからでは?
という仮説に行き着く(ようやく)

rails g model(モデル名)
rails db:migrate

を実行

エラー⑦

やっぱりエラー。
user'blog'に権限を付与してなかったので

mysql -u root -p
mysql>GRANT ALL PRIVILEGES ON *.* TO 'blog'@'localhost';

で権限を全て付与。

エラー⑧

rails db:migrateを実行、以下のエラー。
ActiveRecord::NoDatabaseError: Unknown database 'vegtablelife_development'

rails db:create
rails db:migrate
rails s

を実行。
スクリーンショット 2021-01-30 6.41.06.png

感動!!!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0