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。


カテゴリー: Alpine Linux

adachin

1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください