gem installでnokogiriとrmagickが失敗する場合
なぜ失敗するかというと、nokogiriとrmagickはシステムに特定のソフトウェアやライブラリが入っていることに依存しているからだ。依存しているソフトウェアやライブラリをPATHの通った場所に用意してやらなければビルドができない。
nokogiriで問題になるのは主にlibxml2だ。nokogiriは独自のパッチをあてたlibxml2をビルドして使う。libxml2のビルドに必要になるソフトウェアとライブラリがある。
具体的な方法は公式ドキュメントに情報がある。
Installing Nokogiri - Nokogiri
特に入っていない可能性が高いのはzlibとliblzmaだ。Debian系ならば以下のようにパッケージをインストールする必要がある。
apt install build-essential patch ruby-dev zlib1g-dev liblzma-dev
rmagicはImageMagickのRuby bindingだが、システムにImageMagickがインストールされていなければならない。またインスールされているヘッダーファイルやオブジェクトファイルを発見するためにpkg-configも必要だ。
GitHub - rmagick/rmagick: Ruby bindings for ImageMagick
Debian系では以下のように依存パッケージをインストールする
apt install build-essential pkg-config libmagicwand-dev