Road To The Server-Side-Engineer

サーバーサイドエンジニアになりたい人のブログ

mysql2 gemがインストールできない他

mysql2 gemがインストールできない

前回のポートフォリオ作成時にも起きたエラー。
rails new して、bundle installしようとしたら、途中でmysql2 gemがインストールできなくて完了しない。

f:id:mikeEngineer:20191203010005p:plain

むむむ。

とりあえず
Make sure that `gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'`
succeeds before bundling.
の文言に従って叩いてみます。
$ gem install mysql2 -v '0.5.3' --source 'https://rubygems.org/'
っと。

f:id:mikeEngineer:20191203010928p:plain

またエラー出ました。
ここからはググって以下の記事を参考にしました。

1.  LDFLAGS及びCPPFLAGSをオプション指定した上でbundle install
2.  指定する値をbrew info opensslで確認
3.  opensslがなかったのでbrew install opensslを実行
4.  $ bundle config --local build.mysql2 "--with-cppflags=-I/usr/local/opt/openssl/include"で試すが通らなかったので
     $ bundle config --local build.mysql2 "--with-ldflags=-L/usr/local/opt/openssl/lib"を実行
5.  無事、bundle install --path vendor/bundle にてインストール完了

と言う流れで解決しました。
うーん、ムズいです!コマンドの意味を要勉強。

rails sが実行できない

次は、rails sが実行できないエラーに直面しました。
何やら文言を見ると、
Please run rails webpacker:install
の文字が。
どうやら、Rails6でwebpackerが標準になったことで、webpackerがインストールされてないと起こるエラーなのだそうです。

って事で言われた通りにコマンドを叩く。

f:id:mikeEngineer:20191203013612p:plain

無事完了。
そして
$ bundle exec rails s
・・・ちゃんと走りました!

mysqlが起動してない

早速、http://localhost:3000/を開いてみました。

f:id:mikeEngineer:20191203013948p:plain

またなんか出ました。
どうもMySQLが起動していなかったぽいので、
$ mysql.server start
を叩く。

f:id:mikeEngineer:20191203014551p:plain

動きました!

データベースが無い!

ブラウザを更新すると今度はActiveRecordがエラーを出しました。

f:id:mikeEngineer:20191203014818p:plain

データベースが無いらしいです。
fitness_recordは作ろうとしているアプリ名です。
$ rails db:create
を叩いてデータベースを作成します。

そして何事もなく

f:id:mikeEngineer:20191203015235p:plain

作られました。
ブラウザを更新します。

f:id:mikeEngineer:20191203015403p:plain

できました!