実現したいこと
掲示板を作成しています。
掲示板作成のページで「登録」ボタンをおしたところフラッシュメッセージも画面遷移も起こらなかったので、dbを確認するべく「docker compose run web rails dbconsole」コマンドを実行しました。結果、タイトルのエラーが出てしまいました。
docker.fileを確認したところ、確かにmysqlについて記述していなかったので追記しましたが、「docker compose build」を行なってもエラーが出てしまい解決しませんでした。
発生している問題・分からないこと
Couldn't find database client: mysql, mysql5. Check your $PATH and try again.エラーの解決記事を色々調べましたが、改善しませんでした。
該当のソースコード
% docker compose run web bin/rails dbconsole [+] Creating 2/0 ✔ Container 43689_yaccolyn_basic_rails_basic-chrome-1 Running 0.0s ✔ Container 43689_yaccolyn_basic_rails_basic-db-1 Running 0.0s Couldn't find database client: mysql, mysql5. Check your $PATH and try again. irb(main):006:0> exit
% docker compose build [+] Building 7.7s (7/16) docker:desktop-linux => [web internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 973B 0.0s => [web internal] load metadata for docker.io/library/ruby:3.1.4 1.6s => [web auth] library/ruby:pull token for registry-1.docker.io 0.0s => [web internal] load .dockerignore 0.0s => => transferring context: 2B 0.0s => CACHED [web 1/11] FROM docker.io/library/ruby:3.1.4@sha256:3c24464780a402a8b9ad6215848a025bb7 0.0s => [web internal] load build context 0.5s => => transferring context: 2.65MB 0.5s => ERROR [web 2/11] RUN apt-get update -qq && apt-get install -y ca-certificates curl gnupg && m 6.0s ------ > [web 2/11] RUN apt-get update -qq && apt-get install -y ca-certificates curl gnupg && mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && NODE_MAJOR=19 && wget --quiet -O - /tmp/pubkey.gpg https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs yarn mysql-client: 3.634 Reading package lists... 3.891 Building dependency tree... 3.957 Reading state information... 4.043 ca-certificates is already the newest version (20230311). 4.043 curl is already the newest version (7.88.1-10+deb12u5). 4.043 gnupg is already the newest version (2.2.40-1.1). 4.043 0 upgraded, 0 newly installed, 0 to remove and 15 not upgraded. 4.179 Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)). 4.549 OK 4.553 deb https://dl.yarnpkg.com/debian/ stable main 5.625 W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details. 5.628 Reading package lists... 5.870 Building dependency tree... 5.943 Reading state information... 5.946 Package mysql-client is not available, but is referred to by another package. 5.946 This may mean that the package is missing, has been obsoleted, or 5.946 is only available from another source 5.946 5.947 E: Package 'mysql-client' has no installation candidate ------ failed to solve: process "/bin/sh -c apt-get update -qq && apt-get install -y ca-certificates curl gnupg && mkdir -p /etc/apt/keyrings && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg && NODE_MAJOR=19 && wget --quiet -O - /tmp/pubkey.gpg https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && echo \"deb https://dl.yarnpkg.com/debian/ stable main\" | tee /etc/apt/sources.list.d/yarn.list && apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs yarn mysql-client" did not complete successfully: exit code: 100
docker.fileへの追記
1RUN apt-get update -qq \ 2&& apt-get install -y ca-certificates curl gnupg \ 3&& mkdir -p /etc/apt/keyrings \ 4&& curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ 5&& NODE_MAJOR=19 \ 6&& wget --quiet -O - /tmp/pubkey.gpg https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \ 7&& echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list \ 8&& apt-get update -qq \ 9&& apt-get install -y build-essential libpq-dev nodejs yarn mysql-client #mysql-clientが追記部分です
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
https://qiita.com/taisei_code/items/2c691765c8ab6af53ead
他、同様の記事を参考にしましたが、docker buildができず解決しませんでした。
補足
特になし
回答1件
あなたの回答
tips
プレビュー