Alpine LinuxでRuby on Railsの環境作って、
bundle installでこんなエラーが出てきた。
mysql client is missing. You may need to ‘apt-get install libmysqlclient-dev’ or ‘yum install mysql-devel’, and try again.
mysqlのクライアントがないぞと言ってる。
そもそもAlpineのパッケージにmysql-develとかlibmysqlclient-devなんてないし、
挙句の果てには以下のようにこれインストールすればできるよとか言ってる。
An error occurred while installing mysql2 (0.4.5), and Bundler cannot continue.
Make sure that gem install mysql2 -v ‘0.4.5’` succeeds before bundling.
早速gem install mysql2 -v ‘0.4.5’ やってみたがまた違うエラーが出る。
Googleさんに聞いてみた。
bugs.alpinelinux.orgにてポール モーガンさんはこんなことを言っている。
https://bugs.alpinelinux.org/issues/4264
「おおお、どうやらmysql-devはmariadb-devに変わったみたいだね。」
なるほど!!
■解決
1 2 3 4 5 6 7 8 |
bash-4.3# apk add mariadb-dev ERROR: unsatisfiable constraints: libressl-dev-2.4.4-r0: conflicts: openssl-dev-1.0.2j-r1[pc:libcrypto=2.4.4] openssl-dev-1.0.2j-r1[pc:libssl=2.4.4] openssl-dev-1.0.2j-r1[pc:openssl=2.4.4] satisfies: mariadb-dev-10.1.18-r0[libressl-dev] openssl-dev-1.0.2j-r1: conflicts: libressl-dev-2.4.4-r0[pc:libcrypto=1.0.2j] libressl-dev-2.4.4-r0[pc:libssl=1.0.2j] libressl-dev-2.4.4-r0[pc:openssl=1.0.2j] satisfies: world[openssl-dev] |
あれまたエラー出てる。どうしたもんか。
とりあえず、libressl-devとopenssl-devをdelしてみた。
1 2 3 4 5 6 7 |
bash-4.3# apk del libressl-dev OK: 435 MiB in 70 packages bash-4.3# apk del openssl-dev (1/2) Purging openssl-dev (1.0.2j-r1) (2/2) Purging zlib-dev (1.2.8-r2) OK: 417 MiB in 68 packages |
消えた。もう一度add。
1 2 3 4 5 6 7 |
bash-4.3# apk add mariadb-dev (1/4) Installing libressl2.4-libtls (2.4.4-r0) (2/4) Installing libressl-dev (2.4.4-r0) (3/4) Installing zlib-dev (1.2.8-r2) (4/4) Installing mariadb-dev (10.1.18-r0) Executing busybox-1.25.1-r0.trigger OK: 620 MiB in 72 packages |
インストールできた。
これでbundle installし直したらできた!
Bundle complete! 14 Gemfile dependencies, 57 gems now installed.
■まとめ
Alpine的にはmysqlじゃなくてMaria使え!ということかな。
docker compose使ってみようかな。
そういえばAlpine LinuxってどんなOSと聞かれたら、
Small,Slim,Secureと言えばOK。
0件のコメント