【終わったタスク】9/2(水)
◆勉強
・学習コースJavaScript IIの1-4を終わらせる。
→1-4まで完了。
・Progateの学習コースSQL IIの1-5。
→Progateの学習コースSQL IIすべて完了。
・環境構築。
昨日の続き。
下記の記事を参考にしてみました。
→:https://qiita.com/aiandrox/items/9389696ebc3cc6d3422e
エラー内容の”make: *** [puma_http11.o] Error 1”で検索すると上記の記事を発見。同じようなコマンドを実行して同じようなエラーが出ていました。
記事に従って下記のコマンドを実行。
bundle config build.puma –with-cflags=”-Wno-error=implicit-function-declaration”
無事bundle install完了。
”You must use Bundler 2 or greater with this lockfile.”のエラーが出るということで、下記の記事を実行していましたが、bundleを実行してもバンドルをコンプリートできていたので、ようやく元の路線に戻ってこられた感じです。
[~/sample_app03] % bundle
The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock –add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Using rake 13.0.1
Using concurrent-ruby 1.1.7
Using i18n 1.8.5
Using minitest 5.14.2
Using thread_safe 0.3.6
Using tzinfo 1.2.7
Using zeitwerk 2.4.0
Using activesupport 6.0.3.2
Using builder 3.2.4
Using erubi 1.9.0
Using mini_portile2 2.4.0
Using nokogiri 1.10.10
Using rails-dom-testing 2.0.3
Using crass 1.0.6
Using loofah 2.7.0
Using rails-html-sanitizer 1.3.0
Using actionview 6.0.3.2
Using rack 2.2.3
Using rack-test 1.1.0
Using actionpack 6.0.3.2
Using nio4r 2.5.2
Using websocket-extensions 0.1.5
Using websocket-driver 0.7.3
Using actioncable 6.0.3.2
Using globalid 0.4.2
Using activejob 6.0.3.2
Using activemodel 6.0.3.2
Using activerecord 6.0.3.2
Using mimemagic 0.3.5
Using marcel 0.3.3
Using activestorage 6.0.3.2
Using mini_mime 1.0.2
Using mail 2.7.1
Using actionmailbox 6.0.3.2
Using actionmailer 6.0.3.2
Using actiontext 6.0.3.2
Using public_suffix 4.0.5
Using addressable 2.7.0
Using bindex 0.8.1
Using msgpack 1.3.3
Using bootsnap 1.4.8
Using bundler 2.1.4
Using byebug 11.1.3
Using regexp_parser 1.7.1
Using xpath 3.2.0
Using capybara 3.33.0
Using childprocess 3.0.0
Using ffi 1.13.1
Using jbuilder 2.10.0
Using rb-fsevent 0.10.4
Using rb-inotify 0.10.1
Using listen 3.2.1
Using method_source 1.0.0
Using mysql2 0.5.3
Using puma 4.3.5
Using rack-proxy 0.6.5
Using thor 1.0.1
Using railties 6.0.3.2
Using sprockets 4.0.2
Using sprockets-rails 3.2.1
Using rails 6.0.3.2
Using rubyzip 2.3.0
Using sassc 2.4.0
Using tilt 2.0.10
Using sassc-rails 2.1.2
Using sass-rails 6.0.0
Using selenium-webdriver 3.142.7
Using spring 2.1.1
Using spring-watcher-listen 2.0.1
Using turbolinks-source 5.2.0
Using turbolinks 5.2.1
Using web-console 4.0.4
Using webdrivers 4.4.1
Using webpacker 4.3.0
Bundle complete! 17 Gemfile dependencies, 74 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
↓
引き続きdb:prepareに関しての作業再開。
とりあえず、bin/rails db:prepareを実行してみる。
========================================
Your Yarn packages are out of date!
Please run `yarn install –check-files` to update.
========================================
========================================
あなたのYarnのパッケージは古くなっています。
yarn install –check-files` を実行してアップデートしてください。
========================================
とエラーが出たので、指示通りにしてみる。
ところで”yarn”って何ってことで調べてみました。
→:https://qiita.com/lelouch99v/items/c97ff951ca31298f3f24
ふむ。
とりあえず、無事yarnのアップデートはできたので、再びbin/rails db:prepareを実行。
続いて下記のエラー発生。
”Mysql2::Error::ConnectionError: Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)”
「ソケット ‘/tmp/mysql.sock’ を介してローカル MySQL サーバに接続できません (2)」ということらしい。
ってことでググってみる。
→:https://qiita.com/fujitora/items/d341c52706d1954cae28
↓
記事にあるsudo mysql.server startを実行し下記メッセージが。
”Starting MySQL
.Logging to ‘/usr/local/var/mysql/s.k.err’.
ERROR! The server quit without updating PID file (/usr/local/var/mysql/s.k.pid).”
↓
下記の記事を参考にしてローカルのbundlerのバージョンアップを実施。
→:https://matoyomi.hatenablog.com/entry/20200106/1578254682
続いて、docker-compose run web rails db:createを実行してみる。
↓
下記のエラーメッセージ発生。
”Starting sample_app03_db_1 … done
warning Integrity check: System parameters don’t match
error Integrity check failed
error Found 1 errors.
========================================
Your Yarn packages are out of date!
Please run `yarn install –check-files` to update.
========================================
To disable this check, please change `check_yarn_integrity`
to `false` in your webpacker config file (config/webpacker.yml).
yarn check v1.13.0
info Visit https://yarnpkg.com/en/docs/cli/check for documentation about this command.”
なんとなく既視感を感じつつ、yarn install –check-filesを実行するもやはり、yarnはインストール済なので、bundle exec rails webpacker:installを実行。
エラーなく終わったようなので、docker-compose run web rails db:createを再実行。
↓
下記エラー発生。
”Starting sample_app03_db_1 … done
warning Integrity check: System parameters don’t match
error Integrity check failed
error Found 1 errors.
========================================
Your Yarn packages are out of date!
Please run `yarn install –check-files` to update.
========================================
To disable this check, please change `check_yarn_integrity`
to `false` in your webpacker config file (config/webpacker.yml).
yarn check v1.13.0
info Visit https://yarnpkg.com/en/docs/cli/check for documentation about this command.”
ということで、”Your Yarn packages are out of date! Please run `yarn install –check-files` to update.”で検索。
すると下記の記事を発見。
→:https://qiita.com/nakki/items/4fa58cb6ff4d6c24c2d2
yarn upgradeで解決できるとのことで実行。
↓
yarn upgradeは成功したものの、改めてdocker-compose run web rails db:createを実行しても”Your Yarn packages are out of date! Please run `yarn install –check-files` to update.”は変わらず。
別の記事が無いか確認し下記記事を発見。
→:https://qiita.com/busitora2/items/9ce2877d2ead84a44fda
config/webpacker.ymlの中の、
check_yarn_integrity: true
↓
check_yarn_integrity: false
へ変更。
docker-compose buildを実行して、再度docker-compose run web rails db:createを実行。
Creating network “sample_app03_default” with the default driver
Creating sample_app03_db_1 … done
Created database ‘app_development’
Created database ‘app_test’
お!いけた様子。続いてdocker-compose upを実行して、エラー発生無し!localhost:3000にアクセスして無事成功!!
苦節一週間。ようやくdockerを使って、Ruby on rails環境を作ることができました。
ようやく。スタートだ。。。
◆運動
無し。
◆その他
・ダイエットブログ更新。
・9/3の予定を決める。
・転職ブログ更新。
【感想】
ようやく環境構築ができました。とりあえず、諦めないで一つ一つ試していったらなんとかできました。とはいえ、まだ躓いた原因やなぜ解決できたのか?については、自分の中で落とし込みできていないので、復習しつつまずはアプリ制作をしていきたいと思います。