2013年4月13日土曜日

userstreamジェムをインストールした

 Ruby の userstream ジェムをインストールしようとしたら詰まって、ちょっと面倒くさかった。
qb@qb:~$ sudo gem install userstream
[sudo] password for qb: 
Fetching: oauth-0.4.7.gem (100%)
Fetching: yajl-ruby-1.1.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing userstream:
 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:1:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/yajl-ruby-1.1.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/yajl-ruby-1.1.0/ext/yajl/gem_make.out
どうやら、 mkmf というライブラリが無いのが原因らしい。 mkmf を使うには ruby-dev というものが必要らしいので、 ruby-dev をインストールすることにした。
qb@qb:~$ sudo aptitude install ruby1.9.1-dev
sudo: aptitude: コマンドが見つかりません
すると今度は、ruby-dev をインストールするために使おうとした aptitude コマンドが無いことが発覚。
qb@qb:~$ sudo apt-get install aptitude
aptitude コマンドを使えるようにした。気を取り直して ruby-dev をインストールする。
qb@qb:~$ sudo aptitude install ruby1.9.1-dev
無事に ruby-dev のインストールが終わったので、 userstream ジェムのインストールを再開する。
qb@qb:~$ sudo gem install userstream
Building native extensions.  This could take a while...
Fetching: hashie-1.2.0.gem (100%)
Fetching: userstream-1.3.0.gem (100%)
Successfully installed yajl-ruby-1.1.0
Successfully installed hashie-1.2.0
Successfully installed userstream-1.3.0
3 gems installed
Installing ri documentation for yajl-ruby-1.1.0...
Installing ri documentation for hashie-1.2.0...
Installing ri documentation for userstream-1.3.0...
Installing RDoc documentation for yajl-ruby-1.1.0...
Installing RDoc documentation for hashie-1.2.0...
Installing RDoc documentation for userstream-1.3.0...
こうして、無事に userstream ジェムのインストールが完了した。
 mkmf については Ruby のリファレンスマニュアルに書いてある。エラーにも出てたように、拡張ライブラリを使うために実行される extconf.rb が require "mkmf" してるらしい。

 別件だが、そろそろ Ruby 2.0.0 にアップデートしたいものだ。

0 件のコメント:

コメントを投稿