1.9でfastriを使う

fastri

fastriは、riより速いri.
"gem install fastri"でinstallできる。

1.9で実行しようとすると

以下のようなエラーが出てしまう。

/usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/lib/fastri/util.rb:38:in `require': no such file to load -- rdoc/ri/ri_paths (LoadError)
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/lib/fastri/util.rb:38:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/bin/fri:6:in `require'
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/bin/fri:6:in `<top (required)>'
        from /var/lib/gems/1.8/bin/fri:16:in `load'
        from /var/lib/gems/1.8/bin/fri:16:in `<main>'

中をみてみたら、1.9だとファイル名が変わっていたみたい
こんな感じに。

  • ri_paths.rb -> paths.rb

linkを貼って対応

cd /usr/local/lib/ruby/1.9.0/rdoc/ri
for i in *.rb ; do sudo ln -s $i ri_$i; done

これで、1.8で立ち上げたserverから情報を取得することはできるようになった。

まだfastri-serverが動かない

こんな感じのエラーが出てしまう。

/usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/lib/fastri/ri_index.rb:56:in `<class:RiIndex>': uninitialized constant RI (NameError)
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/lib/fastri/ri_index.rb:52:in `<module:FastRI>'
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/lib/fastri/ri_index.rb:37:in `<top (required)>'
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/bin/fastri-server:6:in `require'
        from /usr/local/lib/ruby/gems/1.9.0/gems/fastri-0.3.1.1/bin/fastri-server:6:in `<top (required)>'
        from /var/lib/gems/1.8/bin/fastri-server:16:in `load'
        from /var/lib/gems/1.8/bin/fastri-server:16:in `<main>'