openssl を require すると LoadError が発生する

Ruby で標準添付ライブラリであるはずの openssl を require すると以下のエラーが発生してしまいました。

XXXX.rb:3:in `require': no such file to load -- openssl (LoadError)
from XXXX.rb:3:in `'
from ./request.cgi:9:in `require'
from ./request.cgi:9:in `
'

環境は以下。

色々調べてみると、Ruby ライブラリ oepnssl を使うには、apt-get で libopenssl-ruby1.9.1 というパッケージをインストールする必要がある模様。 環境にもよると思いますが、とりあえず Ubuntu ではそうなってるようです。

$ sudo apt-get install libopenssl-ruby1.9.1

上記コマンドでインストールすると、無事 Ruby ライブラリ openssl を使えるようになりました。

ruby1.9.1-full のインストール [2010-03-23 追記]

Ubuntu 9.10 (Karmic) では、Ruby をインストールするためのパッケージとして

があります。 これらのパッケージのうちどれかをインストールすれば (そのバージョンの) Ruby が完全にインストールされるように思えるのですが、実際にはそんなことはなくて、標準添付のライブラリが別のパッケージになってたりします。 そこで、Ruby を完全に (標準添付のライブラリも含めて) インストールするためには以下のどちらかのパッケージを使用すればよいようです。

ruby-full をインストールすると (現在のところ) Ruby 1.8 系がインストールされます。 ruby1.9.1-full はその名前のとおり Ruby 1.9.1 系です。

上で libopenssl-ruby1.9.1 をインストールしたように、1 つずつ必要なパッケージをインストールしていくことでも Ruby の標準添付ライブラリをインストールできますが、1 つのパッケージでインストールできるという点で ruby-full パッケージや ruby1.9.1-full パッケージは便利だと思います。

ただし、ruby1.9.1-full パッケージをインストールしても RubyGems はインストールされませんので、別途 rubygems1.9.1 パッケージをインストールする必要があります。 *1

*1:2010-03-30 JST 追記