Racc のインストール (/1.9.1)
WindowsXP(Sp3)にて、Ruby は artionさんの 1.9.1 (ActiveScriptRuby and Other packagesより Ruby-1.9.1-p0)、gem を 1.3.2 にアップデートしたら racc のインストールがうまくいかなくなった。というか、それ以前からインストールは途中で失敗する感じなんだけど、raccコマンド自体は動作するので問題にしていなかった。それが、gem のバージョンチェックが厳しくなったのか、動かなくなった。「:in `bin_path': can't find gem racc ([">= 0"])」
「gem install racc」のエラーはこんな感じ
Building native extensions. This could take a while... ERROR: Error installing racc: ERROR: Failed to build gem native extension. C:/PROGRA~1/RUBY-1~1.1/bin/ruby.exe extconf.rb extconf.rb:3:in ``': No such file or directory - uname -p (Errno::ENOENT) from extconf.rb:3:in `'
ちなみに
<云々>>gem --version 1.3.2
C:\Program Files\Ruby-1.9.1\lib\ruby\gems\1.9.1\gems\racc-1.4.6 とかにいって「ruby setup.rb」しても同じ所でエラーになる(エラーメッセージはもう少し詳しい)。「ruby setup.rb config」でも同じエラー。
ということで、同所 README.ja.rdoc の示唆に従い、「--without-ext」してみる。
<云々>1.9.1\lib\ruby\gems\1.9.1\gems\racc-1.4.6>ruby setup.rb config --without-ext
-
-
- > bin
-
-
-
- > lib
- > lib/racc
-
こんどはエラーない、つづけて「setup」「install」、いちいち「skipping ext/* by user option」といわれるがインストール成功。
<云々>>racc --version racc version 1.4.6
できた。しかし、gem list には載ってこない。gemコマンド方面でもこんな感じにインストールオプション渡してインストール出来るのかな?
あと、extなしというのは、racc の解析機 parse に、C版が使えず、ピュアRuby版を使う事になるのでちょっと遅くなるかもです。切り替えは自動なのであんまり意識する事はないかもしれない。