前回のつづき。はてなAPI用gemがインストールできないエラーについて調べた。
エラー
対象のエラー。前回の工程を経ている。
$ sudo gem install hatenablog [sudo] password for mint: Fetching: nokogiri-1.6.8.1.gem (100%) Building native extensions. This could take a while... ERROR: Error installing hatenablog: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' from extconf.rb:4:in `<main>' Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.8.1 for inspection. Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.8.1/ext/nokogiri/gem_make.out
cannot load such file -- mkmf
とある。mkmf
とやらが無いのだろう。
ERROR: Failed to build gem native extension.
ERROR: Failed to build gem native extension.で検索した。
ubuntu - gemを使ってインストールするとエラーがでる。 - スタック・オーバーフロー
そのまんまの回答があった。感謝。
mkmfが無い場合はruby-devをインストール -- ぺけみさお
ruby-devのインストール
$ sudo apt-get install ruby-dev [sudo] password for mint: パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: ruby1.9.1-dev 以下のパッケージが新たにインストールされます: ruby-dev ruby1.9.1-dev アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 399 個。 890 kB のアーカイブを取得する必要があります。 この操作後に追加で 3,592 kB のディスク容量が消費されます。 続行しますか? [Y/n] y 取得:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main ruby1.9.1-dev i386 1.9.3.484-2ubuntu1.2 [886 kB] 取得:2 http://archive.ubuntu.com/ubuntu/ trusty/main ruby-dev all 1:1.9.3.4 [4,660 B] 890 kB を 3秒 で取得しました (293 kB/s) 以前に未選択のパッケージ ruby1.9.1-dev を選択しています。 (データベースを読み込んでいます ... 現在 185089 個のファイルとディレクトリがインストールされています。) .../ruby1.9.1-dev_1.9.3.484-2ubuntu1.2_i386.deb を展開する準備をしています ... ruby1.9.1-dev (1.9.3.484-2ubuntu1.2) を展開しています... 以前に未選択のパッケージ ruby-dev を選択しています。 .../ruby-dev_1%3a1.9.3.4_all.deb を展開する準備をしています ... ruby-dev (1:1.9.3.4) を展開しています... ruby1.9.1-dev (1.9.3.484-2ubuntu1.2) を設定しています ... ruby-dev (1:1.9.3.4) を設定しています ...
hatenablogのインストール(失敗)
$ c Building native extensions. This could take a while... ERROR: Error installing hatenablog: ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.8.1 for inspection. Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.8.1/ext/nokogiri/gem_make.out
またしても失敗。
gem native extension
とやらがビルドできないエラーであることは同じ。しかし、その原因について何も情報がなくなった……。
検索
ERROR: Failed to build gem native extension. /usr/bin/ruby1.9.1 extconf.rb
ruby - Failed to build gem native extension — Rails install - Stack Overflow
上記はsudo apt-get install ruby-dev
しか書いていない。
ruby - Failed to build gem native extension — Rails install - Stack Overflow
上記でsudo apt-get install make
を発見。なぜmake?
make
$ make make: *** ターゲットが指定されておらず, makefile も見つかりません. 中止.
makeはインストールされている。インストールコマンドは不要。
さらに検索
RubyGemsでinstallコマンドをたたくとエラーが出る→rbenvの問題だった - Retired Colourman
rbenv
とやらがあるらしい。今回とは異なるケースかもしれない。環境を破壊しかねないので保留。
gem インストール時に発生したエラーとその解決方法まとめ - kzy52's blog
nokogiriは libxml2-devel, libxslt-devel がインストールされていない場合もコンパイルに失敗する
とある。次回、調べてみるか。
所感
まさかパッケージのインストールごときでこれほど苦労させられるとは思わなかった。Ruby使いたくない。gem、全然パッケージ管理できてないじゃん。