windowsでgemで入れたコマンドがすべてin `load': no such file to load になる
WindowsのRuby実行環境としてActiveScriptRuby 1.8.7(p174) with-winsock2
をインストール。
環境変数PATHにC:/Program Files/ruby-1.8/binを追加し再起動
(環境変数の設定を反映させるため。)
C:\>gem --version
1.3.4
C:\>gem install rake
Successfully installed rake-0.8.7
1 gem installed
Installing ri documentation for rake-0.8.7...
Installing RDoc documentation for rake-0.8.7...
C:\>rake --version
C:/Program Files/ruby-1.8/bin/rake:18:in `load': no such file to load --
C:/Program Files/ruby-1.8/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake"
(LoadError)
from C:/Program Files/ruby-1.8/bin/rake:18
疑問:
え!? rake 入れたばっかりなのに、なんでno such file?
答え:
実はgemのversion 1.3.4には実行ファイルへのパスにスペースが含めないバグ
があるせいで、実行できない。
疑問:
ruby consoleだと、rakeがちゃんと動作する。なんで!?
答え:
ruby consoleはコマンドプロンプト立ち上げ時に環境変数PATHの先頭に
C:\PROGRA~1\ruby-1.8\bin;を追加している。PROGRA~1という
ディレクトリ名にはスペースが含まれないため、gemのバグを回避している。
疑問:
C:\PROGRA~1って何?
答え:
8.3形式の短いファイル名を表示させる に記述されている通り、Windowsは、
昔のDOSに対応できるよう、ディレクトリやファイル名に自動的に8.3形式の
別名を割り振り、どちらの名前を指定しても同じ動作になる。
疑問:
で、rakeを実行するにはどうすればいいの?
答え:
・環境変数PATHにC:/Program Files/ruby-1.8/binではなく、
C:\PROGRA~1\ruby-1.8\binを追加する。(消極的解決法)
・gemをversion1.3.5にアップデートする。(積極的解決法)
疑問:
gemってどうやってアップデートするの?
答え:
C:\>gem install rubygems-update
Bulk updating Gem source index for: http://gems.rubyforge.org/
Succeccfully installed rubygems-update-1.3.5
1 gem installed
C:\>set PATH=C:\PROGRA~1\ruby-1.8\bin;%PATH%
C:\>update_rubygems
新しいコマンドプロンプトを立ち上げ、rakeが実行できるか確認する。
C:\>rake --version
rake, version 0.8.7
CONGRATULATION!!
| 固定リンク | コメント (2) | トラックバック (0)



最近のコメント