展開のしかた
またもや初歩的なことを今更。。。
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に追加していくのも面倒だしなぁ。何か良い方法はないものかしら。