zakki-cho

インプットしたらアウトプットする。アウトプットすることを考えてインプットする。

Ubuntuにfluentdをインストールしようとしてつまづく

Ubuntuにfluentdをインストールしようとして、次のコマンドを実行。

$ gem install fluentd

すると、次のようなエラーが。

/home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- zlib (LoadError)
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems.rb:540:in `gunzip'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/remote_fetcher.rb:239:in `fetch_path'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:269:in `load_specs'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:231:in `block in list'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:227:in `each'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:227:in `list'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:150:in `find_matching_with_errors'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/spec_fetcher.rb:177:in `find_matching'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/commands/query_command.rb:116:in `execute'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/commands/search_command.rb:27:in `execute'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/command.rb:278:in `invoke'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/command_manager.rb:147:in `process_args'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/command_manager.rb:117:in `run'
from /home/hoge/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/rubygems/gem_runner.rb:65:in `run'
from /home/hoge/.rbenv/versions/1.9.3-p194/bin/gem:21:in `

'

解決方法を探してみるとすぐに発見。
http://stackoverflow.com/questions/769496/ubuntu-noob-rails-install-fails-on-zlib

$ rvm pkg install zlib

しかし、怒られる。

zsh: command not found: rvm

インストールしてませんでした。

ということで、rvmをインストール。

$ gem install rvm

だめでした。

ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand

もっと根っこの部分でだめですね。

探してみると同じ文句を言われた方がおられました。
Ubuntu に ruby をインストールして zlib がないと文句を言われる
早速、zlib1g-devをインストール。

$ sudo aptitude install zlib1g-dev

そして、いざ。

ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NameError)
uninitialized constant Gem::Commands::InstallCommand

はい。
rbenv使っている場合は何かしないとダメなのかな?

探してみると、参考になるページがありました。
rbenvでインストールしたRubyのgemコマンドがzlib云々ほざいて動かない時の対処法
ということで、rubyを再インストール。
rbenvで再インストールする方法が分からなかったので、とりあえずもう一度インストールしてみる。

$ rbenv install 1.9.3-p194

fluentdをインストール。

$ gem install fluentd

無事成功!

しかし、かなりのパワープレイでした。
もっと勉強しないとだめですね;