さくらインターネットのスタンダードプランにRails をインストールしようとしたらnokogiri が使うライブラリのチェックで怒られた件

投稿者: | 2015/01/03

今回もさくらインターネットのレンタルサーバーで七転八倒している様を垂れ流しますよー。

 

checking for iconv… no

Rails をインストールすべく gem install rails したら、なんやごちゃごちゃと叱られました。
以下の様な感じ。

$ gem install rails
Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

    /home/user_name/local/bin/ruby extconf.rb
checking if the C compiler accepts ... yes
Building nokogiri using packaged libraries.
checking for iconv... no
-----
libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/home/kawairi/local/bin/ruby
    --help
    --clean
    --use-system-libraries
    --enable-static
    --disable-static
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --enable-cross-build
    --disable-cross-build

extconf failed, exit code 1

Gem files will remain installed in /home/user_name/local/lib/ruby/gems/gems/nokogiri-1.6.5 for inspection.
Results logged to /home/user_name/local/lib/ruby/gems/extensions/x86_64-freebsd-9/2.1.0-static/nokogiri-1.6.5/gem_make.out

かいつまんで言うと「nokogiri が使うライブラリのチェックでlibiconv が無ぇよ」とか叱られたみたいです。

 

じゃあnokogiri 入れなおすよ

そんじゃまあnokogiri 入れなおしてみましょうか。
ってコトで、nokogiri を手動でインストール。

下記をシェルで叩いたら、スルッとインストールできました。

NOKOGIRI_USE_SYSTEM_LIBRARIES=1 gem install nokogiri --no-rdoc --no-ri

ちなみに、参考にしたのは以下の記事。


鍵は冒頭の「NOKOGIRI_USE_SYSTEM_LIBRARIES」という環境変数なわけですが、これについては以下の記事を参照のこと。
実は私はまだよくわかっていません。(おぃ


 

さあ、今度こそgem install rails を!

これにてnokogiri も無事に行けるようになったみたいだし、今度こそRails をインストールだ!
と、勢い込んでgem install rails した結果が以下。

gem install rails
Fetching: rails-dom-testing-1.0.5.gem (100%)
Successfully installed rails-dom-testing-1.0.5
Fetching: loofah-2.0.1.gem (100%)
Successfully installed loofah-2.0.1
Fetching: rails-html-sanitizer-1.0.1.gem (100%)
Successfully installed rails-html-sanitizer-1.0.1
Fetching: erubis-2.7.0.gem (100%)
Successfully installed erubis-2.7.0
Fetching: builder-3.2.2.gem (100%)
Successfully installed builder-3.2.2
Fetching: actionview-4.2.0.gem (100%)
Successfully installed actionview-4.2.0
Fetching: rack-1.6.0.gem (100%)
Successfully installed rack-1.6.0
Fetching: rack-test-0.6.2.gem (100%)
Successfully installed rack-test-0.6.2
Fetching: actionpack-4.2.0.gem (100%)
Successfully installed actionpack-4.2.0
Fetching: activemodel-4.2.0.gem (100%)
Successfully installed activemodel-4.2.0
Fetching: arel-6.0.0.gem (100%)
Successfully installed arel-6.0.0
Fetching: activerecord-4.2.0.gem (100%)
Successfully installed activerecord-4.2.0
Fetching: mime-types-2.4.3.gem (100%)
Successfully installed mime-types-2.4.3
Fetching: mail-2.6.3.gem (100%)
Successfully installed mail-2.6.3
Fetching: globalid-0.3.0.gem (100%)
Successfully installed globalid-0.3.0
Fetching: activejob-4.2.0.gem (100%)
Successfully installed activejob-4.2.0
Fetching: actionmailer-4.2.0.gem (100%)
Successfully installed actionmailer-4.2.0
Fetching: thor-0.19.1.gem (100%)
Successfully installed thor-0.19.1
Fetching: railties-4.2.0.gem (100%)
Successfully installed railties-4.2.0
Fetching: bundler-1.7.10.gem (100%)
Successfully installed bundler-1.7.10
Fetching: tilt-1.4.1.gem (100%)
Successfully installed tilt-1.4.1
Fetching: multi_json-1.10.1.gem (100%)
Successfully installed multi_json-1.10.1
Fetching: hike-1.2.3.gem (100%)
Successfully installed hike-1.2.3
Fetching: sprockets-2.12.3.gem (100%)
Successfully installed sprockets-2.12.3
Fetching: sprockets-rails-3.0.0.beta1.gem (100%)
Successfully installed sprockets-rails-3.0.0.beta1
Fetching: rails-4.2.0.gem (100%)
Successfully installed rails-4.2.0
Parsing documentation for actionmailer-4.2.0
Installing ri documentation for actionmailer-4.2.0
Parsing documentation for actionpack-4.2.0
Installing ri documentation for actionpack-4.2.0
Parsing documentation for actionview-4.2.0
Installing ri documentation for actionview-4.2.0
Parsing documentation for activejob-4.2.0
Installing ri documentation for activejob-4.2.0
Parsing documentation for activemodel-4.2.0
Installing ri documentation for activemodel-4.2.0
Parsing documentation for activerecord-4.2.0
Installing ri documentation for activerecord-4.2.0
Parsing documentation for arel-6.0.0
Installing ri documentation for arel-6.0.0
Parsing documentation for builder-3.2.2
Installing ri documentation for builder-3.2.2
Parsing documentation for bundler-1.7.10
Installing ri documentation for bundler-1.7.10
Parsing documentation for erubis-2.7.0
Installing ri documentation for erubis-2.7.0
Parsing documentation for globalid-0.3.0
Installing ri documentation for globalid-0.3.0
Parsing documentation for hike-1.2.3
Installing ri documentation for hike-1.2.3
Parsing documentation for loofah-2.0.1
Installing ri documentation for loofah-2.0.1
Parsing documentation for mail-2.6.3
Installing ri documentation for mail-2.6.3
Parsing documentation for mime-types-2.4.3
Installing ri documentation for mime-types-2.4.3
Parsing documentation for multi_json-1.10.1
Installing ri documentation for multi_json-1.10.1
Parsing documentation for rack-1.6.0
Installing ri documentation for rack-1.6.0
Parsing documentation for rack-test-0.6.2
Installing ri documentation for rack-test-0.6.2
Parsing documentation for rails-4.2.0
Installing ri documentation for rails-4.2.0
Parsing documentation for rails-dom-testing-1.0.5
Installing ri documentation for rails-dom-testing-1.0.5
Parsing documentation for rails-html-sanitizer-1.0.1
Installing ri documentation for rails-html-sanitizer-1.0.1
Parsing documentation for railties-4.2.0
Installing ri documentation for railties-4.2.0
Parsing documentation for sprockets-2.12.3
Installing ri documentation for sprockets-2.12.3
Parsing documentation for sprockets-rails-3.0.0.beta1
Installing ri documentation for sprockets-rails-3.0.0.beta1
Parsing documentation for thor-0.19.1
Installing ri documentation for thor-0.19.1
Parsing documentation for tilt-1.4.1
Installing ri documentation for tilt-1.4.1
Done installing documentation for actionmailer, actionpack, actionview, activejob, activemodel, activerecord, arel, builder, bundler, erubis, globalid, hike, loofah, mail, mime-types, multi_json, rack, rack-test, rails, rails-dom-testing, rails-html-sanitizer, railties, sprockets, sprockets-rails, thor, tilt after 426 seconds
26 gems installed

うぉー、やったー!
これと言って文句も言われず、各種gem がインストールされたっぽいぜー。

さあgem update してから、rails -v っと…
あれ?

rails -v
-bash: rails: command not found

…。
なんでー???

という訳で、今日のところはnokogiri のインストールまでは成功したということで。
Rails のインストールは次回以降の持ち越しとなったのでした。

ぼちぼち三ヶ日で終わるのか心配になってきました。

 



 

2015.05.13 追記

この記事の最後にある「rails: command not found」について、Fumiya さんから解消方法についてのコメントを頂きました。
Fumiya さん、ありがとうございます。

結論から言うと.bashrc のPATH指定が間違っていたというお話。

command not found が出た時点で真っ先に確認しておけよという内容ですね。
お恥ずかしい。

さくらインターネットのスタンダードプランにRails をインストールしようとしたらnokogiri が使うライブラリのチェックで怒られた件」への2件のフィードバック

  1. Fumiya

    今回さくらに私もRedminを入れたくて、@uma_blue さんの記事にたどり着いて、私も最後同じ問題が出ていたのですが下記の記事で解決することができました。

    http://tmpz84.blogspot.jp/2011/07/rails-3.html

    結論から話しますと、.bashrcに下記のようにPATHの指定にミス(gemsのところをgemにしているところ)があります。

    export PATH=$HOME/local/lib/ruby/gem/bin:

    export PATH=$HOME/local/lib/ruby/gems/bin:

    これを編集すると無事Railsが実行できるようになりました。記事を書かれてから4ヶ月近く経っているので解決されているかもしれませんが、その後の記事に書かれていなかったのでコメントさせていただきましたm(_ _)m

    返信
    1. @uma_blue 投稿作成者

      >Fumiya さん
      コメントありがとうございます!

      あー、やらかしておりましたね。
      お恥ずかしい。///
      command not found の時点で確認しておけよって内容ですね。

      ちなみに、結局いまはさくらのVPSを借りて使うております。
      レンタルサーバーだとブログと一緒に置く事になるので思いっきり弄り倒せないのと、Redmine 動かすにはパフォーマンス面での不満を感じたので。

      返信

@uma_blue へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。

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