プログラマーになりたい。

プログラミングや写真や本や読書会のことや、日常のこと。

Tokyo Cabinetをホームディレクトリにインストールしちゃう

Tokyo Cabinetが欲しかったのだけど、root持ってないのでとりあえず権限のあるホームディレクトリ「~/」にいれるという暴挙に出た。

cf. Tokyo Cabinet: http://1978th.net/tokyocabinet/

cd ~
curl -O http://1978th.net/tokyocabinet/tokyocabinet-1.4.45.tar.gz
tar -xzf tokyocabinet-1.4.45.tar.gz
cd tokyocabinet-1.4.45
./configure --prefix=/User/xxxxx
make 
make install

/User/xxxxx/usrとかそんな感じにどばーっといろいろフォルダができちゃうので、あまりおすすめはしない…。

http://1978th.net/tokyocabinet/rubypkg/tokyocabinet-ruby-1.30.tar.gz
tar -xzf tokyocabinet-ruby-1.30.tar.gz
cd tokyocabinet-ruby-1.30.tar.gz
ruby extconf.rb --with-tokyocabinet-dir=/User/xxxxx
make 
make install #(失敗する)

で、さいごのtokyocabinet-rubyのmake installは失敗するんだけど、これは当然で、prefixみたいなものを指定してないのに、sudoしてないからです。
でも、このディレクトリに、tokyocabinet.bundleというのができているので、これをとりあえずスクリプトと同じところ(というか、厳密には実行時のカレントディレクトリなのかな?)に置いておけば動くみたいです。$LOAD_PATHをみると、「.」というのがあるので。

$LOAD_PATH
loadや require がファイルをロードする時に検索するディレクトリのリスト を含む配列です。 (覚え方: コロンは環境変数PATHの区切り文字である)

起動時には、-I directory オプションで指定したディ レクトリ、環境変数 RUBYLIB の値、コンパイル時に指定 したデフォルト値、"." (カレントディレクトリ) を含みます。 以下に典型的な UNIX システム上でのロードパスを示します。

 -I で指定したパス
環境変数 RUBYLIB の値
/usr/local/lib/ruby/site_ruby/VERSION        サイト固有、バージョン依存のライブラリ
/usr/local/lib/ruby/site_ruby/VERSION/ARCH   サイト固有、システム依存、拡張ライブラリ
/usr/local/lib/ruby/site_ruby                サイト固有ライブラリ
/usr/local/lib/ruby/VERSION                  標準ライブラリ
/usr/local/lib/ruby/VERSION/ARCH             標準、システム依存、拡張ライブラリ
.                                            カレントディレクトリ
Creative Commons License ©2007-2021 IIDA Munenori.