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

%e3%82%b9%e3%82%af%e3%83%aa%e3%83%bc%e3%83%b3%e3%82%b7%e3%83%a7%e3%83%83%e3%83%88-2016-11-08-%e5%8d%88%e5%be%8c8-12-27

「おおお、どうやらmysql-devはmariadb-devに変わったみたいだね。」

なるほど!!


■解決

あれまたエラー出てる。どうしたもんか。
とりあえず、libressl-devとopenssl-devをdelしてみた。

消えた。もう一度add。

インストールできた。
これでbundle installし直したらできた!

Bundle complete! 14 Gemfile dependencies, 57 gems now installed.


■まとめ

Alpine的にはmysqlじゃなくてMaria使え!ということかな。
docker compose使ってみようかな。

そういえばAlpine LinuxってどんなOSと聞かれたら、
Small,Slim,Secureと言えばOK。

The following two tabs change content below.

あだちん

1989年生まれ。 Infra Engineer(SRE) In Shibuya 2013年新卒に自宅サーバを構築し、この技術ブログを立ち上げたが、 2017年に電源が壊れConoHaにリプレイスした。 好きな構成管理ツールはAnsible,Terraform。 インフラならAWS/Docker。言語はPython。 WEBサーバならH2O。そして「脆弱性スキャナVuls」のOSS活動もしており、VulsRepo init fileのコミッターでもある。VulsのためにGolangと格闘中でエバンジェリストに任命!?HIPHOPが好きすぎてTrack Makerでもある。

コメントを残す