はちゅにっき

こっちのブログはまったり更新

"gem install pg" したらエラーがでた

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

/usr/bin/ruby1.8 extconf.rb install pg
extconf.rb:1:in `require': no such file to load -- mkmf (LoadError)
        from extconf.rb:1


Gem files will remain installed in /var/lib/gems/1.8/gems/pg-0.7.9.2008.10.13 for inspection.
Results logged to /var/lib/gems/1.8/gems/pg-0.7.9.2008.10.13/ext/gem_make.out

おっと?

どうやら原因は Debian のパッケージ "ruby-dev" をインストールしていないからのようでした。

# aptitude install ruby-dev

これで

# gem install pg
Building native extensions.  This could take a while...
Successfully installed pg-0.7.9.2008.10.13
1 gem installed
Installing ri documentation for pg-0.7.9.2008.10.13...
Installing RDoc documentation for pg-0.7.9.2008.10.13...

無事にインストールできました。
同じエラーであっても、場合によっては ruby-dev が足りないだけでなく、以下のような、コンパイル、ビルドツールが足りてない可能性もあるそうです。

  • gcc
  • cc
  • cpp
  • g++
  • make など


というわけで、これで Ruby から Postgres がたたけるように。
わーい。