2020-09-17

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

11 comments:

Anonymous said...

twitterの方で依存地獄とお嘆きのようですが、コンパイルのためにincludeファイルを仕入れる必要があるとか精々その程度で、本物の地獄ではないのかと。Dependency Hell は、ひとつのライブラリのバージョンなどの不整合が依存関係にあるライブラリに次々と波及していくような状態を表した俗語のようです。まあ、これをソースからのビルドで解決しようなどと(お馬鹿なことを)すると configure を通した瞬間「あれがない」とか「これは古い」とか言い出して、それらすべてを修正しなければならなくなります(=Dependency Hellでの Death March)。特に悲惨なのが、これをクロスでやらなければならない場合で、クロス・コンパイルをあまり意識しないで作られた configure も多く(クロスの実行コードをホストでテスト実行しようとしたり、最後の最後でクロスは拒否するとか言って来たりする)、これらの修正から行わないとならない場合もあります(=本当に地獄)。

Công ty CP dịch thuật miền trung - MIDtrans said...

Dịch thuật Việt là chuyên trang về các giải pháp biên dịch (công chứng và chuyên ngành), cung cấp nhân lực phiên dịch dự án ngắn và trung hạn
Ra đời từ 2016, hoạt động trong lĩnh vực dịch thuật và chuyển đổi ngôn ngữ và để đáp ứng nhu cầu tại thị trường Việt Nam cho các tổ chức phi chính phủ, các tập đoàn đa Quốc Gia,và đặc biệt chuyên dịch thuật các dự án hỗ trợ phát triển cho chính phủ Việt Nam Chúng tôi có kinh nghiệm triển khai hỗ trợ dịch thuật phiên dịch các dự án đa ngành như kinh tế, kỹ thuật, tài chính ngân hàng, quản trị kinh doanh…. với trên 50 ngôn ngữ phổ thông khác nhau

Jatin Sethi said...

yespornplease
yespornplease
yespornplease

Robin Adam said...

Very informative blog! Thanks for sharing the software installation about If nokogiri and rmagick fail with gem install.
Custom Vape Cartridge Packaging

Custom Boxes World USA said...

Custom Boxes World attractive your clients will beg for your merchandise is made by the multiple Boxes. We all know the tendencies of beliefs and styles which have been introduced. Custom Printed Boxes Wholesale

Aeryn Watts said...

Searching for Custom Printed 15ml Bottle Packaging Boxes to enrich your product appearance We offer low MOQ end to end solutions from design to shipping.
15ml dropper boxes

Hickson Starc said...

Great job! Your article is so informative. I really like it.
please read this
Custom Boxes Wholesale

Custom Boxes World USA said...

Cosmetic organizations create excellence arrangements of uniquely shaped custom bath bomb boxes. We give you’re possess made to display your image subject lineup. bath bomb boxes

Custom Boxes World USA said...

Custom Boxes World is among the printing and boxes Supplier Company from the USA. We have served our clientele using our boxes that were created attractive. Essential Oil Boxes

Custom Boxes World USA said...

Custom Boxes World would be the soap packaging makers offering customized soap packaging. It satisfies your branding advertising and packaging demands. Wholesale Soap Packaging Boxes

georgedaltone said...

Your blog is very frinedly.I really like if can you write on black mailer boxes.