いまさらだけど、そろそろまじめにrubyの開発環境を整えようと思ったのでとりあえずfastriを導入した。
5分でおわると思いきや地味に苦労したので作業履歴メモ
手順
- 最新版のソースをおとす
- 展開してsetup.rbを実行
- 'fastri-server -b' でインデックス作成
- 'fastri-server -B' でフルテキストのインデックス作成
- 'fastri-server' で起動
- qri Array みたいなかんじで使う
ところがqriを使おうとすると以下のようなエラーが。。
/usr/lib/ruby/1.8/rdoc/ri/ri_paths.rb:61: uninitialized constant Gem::Version (NameError) from /usr/lib/ruby/1.8/rdoc/ri/ri_paths.rb:57:in `each' from /usr/lib/ruby/1.8/rdoc/ri/ri_paths.rb:57 from /usr/local/lib/site_ruby/1.8/fastri/util.rb:38:in `require' from /usr/local/lib/site_ruby/1.8/fastri/util.rb:38 from /usr/bin/qri:6:in `require' from /usr/bin/qri:6
色々試した結果、以下のようにfastri/util.rbを書き換えたらとりあえず動くようになった。
--- /home/takayuki/tmp/util.rb 2011-03-27 01:25:51.000000000 +0900 +++ /usr/local/lib/site_ruby/1.8/fastri/util.rb 2011-03-27 01:22:55.000000000 +0900 @@ -35,7 +35,7 @@ # don't let rdoc/ri/ri_paths load rubygems.rb, that takes ~100ms ! emulation = $".all?{|x| /rubygems\.rb$/ !~ x} # 1.9 compatibility $".unshift "rubygems.rb" if emulation -require 'rdoc/ri/ri_paths' +#require 'rdoc/ri/ri_paths' $".delete "rubygems.rb" if emulation require 'rdoc/ri/ri_writer'
ちなみに環境は以下の通りです. OSはdebian Lenny
% gem --version 1.6.2 % ruby --version ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]
参考
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=588125
- http://arika.org/diary/2010/08/30/ruby-1-9-2-and-rubygems-1-3-7-and-gem-path
TODO
- rvmを導入する
0 件のコメント:
コメントを投稿