展開のしかた


またもや初歩的なことを今更。。。

tar.gzは

tar zxvf file.tar.gz

で展開。

tar.bz2は

tar jxvf file.tar.bz2

で展開。


xvfがtar形式のファイルを展開するオプションで、zはgz、jはbz2を指すオプション。


ちなみに圧縮はするときのオプションはcvfなので、tar.gz形式で圧縮したい場合は、

tar zcvf compress.tar.gz <file_path>

tar.bz2形式で圧縮したい場合は、

tar jcvf compress.tar.bz2 <file_path>

でおk。

Ruby1.9.2でLoadErrorが出たら

Ruby 1.9.2から$LOAD_PATHにカレントディレクトリが含まれなくなった - ぬいぐるみライフ?

上記エントリでのタイトルにもなっている件についての話。


Rubyリファレンスマニュアルの『$LOAD_PATH』の項にも書いてあるように、

起動時には、-I directory オプションで指定したディレクトリ、環境変数 RUBYLIB の値、コンパイル時に指定したデフォルト値、"." (カレントディレクトリ) を含みます。

がデフォルトのLOAD_PATHの値になってますが、Ruby1.9.2からカレントディレクトリは抜けるようになったっぽいです。


上記エントリでは"require_relative"を使った解決法が書かれていますが、やっぱり後方互換性などの点から、実行したいrubyスクリプトがあるディレクトリをLOAD_PATHに追加するのがいいかなと思いました。


で、LOAD_PATHに追加しようとしたんだけど、LOAD_PATHへの追加のしかたがイマイチわからず、結局"RUBYLIB"に追加しちゃいました。
例えば、"project_hoge"フォルダの中に自分で書いたrubyスクリプトがたくさん入ってたとしたら、".bashrc"を開いて

RUBYLIB=$HOME/work/ruby/project_hoge
export RUBYLIB

みたいに追加すればおkです。


すぐに反映したいときは

source ~/.bashrc

もお忘れなく。

$ ruby -e 'puts $:'

として、さっき.bashrcに指定した値が表示されてれば成功。


しかし、これからrubyでプログラム作るとき、いちいちそのアプリケーションのルートフォルダをRUBYLIBに追加していくのも面倒だしなぁ。何か良い方法はないものかしら。