前几天下载了ruby 1.9 用gem安装watir时发现gem是被安装在C:\LAN\ruby-1.9.0-0下面,而不是在ruby目录下面。上网上搜了一把,发现好多筒子用ruby 1.9都有这个问题,但是都没有解决办法的样子,只有自己解决了。gem e 显示gem的环境变量,发现有好几个变量都和C:\LAN有关:


INSTALLATION DIRECTORY: C:/LAN/ruby-1.9.0-0/lib/ruby/gems/1.9.0
RUBY EXECUTABLE: C:/LAN/ruby-1.9.0-0/bin/ruby.exe
EXECUTABLE DIRECTORY: C:/LAN/ruby-1.9.0-0/bin
GEM PATHS:
- C:/LAN/ruby-1.9.0-0/lib/ruby/gems/1.9.0
ruby的执行路径都不正确,修改ruby的配置试,打开ruby目录下 lib\ruby\1.9.0\i386-mswin32\rbconfig.rb文件,找到这家伙


CONFIG["prefix"] = (TOPDIR || DESTDIR + "C:/LAN/ruby-1.9.0-0")
将C:/LAN/ruby-1.9.0-0 修改成你的ruby目录,我的ruby放在D:\ruby下面,修改成:


CONFIG["prefix"] = (TOPDIR || DESTDIR + "D:/ruby")
保存,再次运行gem e 查看环境变量:


RUBYGEMS VERSION: 1.2.0
RUBY VERSION: 1.9.0 (2007-12-25 patchlevel 0) [i386-mswin32]
INSTALLATION DIRECTORY: D:/ruby/lib/ruby/gems/1.9.0
RUBYGEMS PREFIX: D:/ruby/lib/ruby/gems/1.9.0/gems/rubygems-update-1.2.0
RUBY EXECUTABLE: D:/ruby/bin/ruby.exe
EXECUTABLE DIRECTORY: D:/ruby/bin
RUBYGEMS PLATFORMS:
- ruby
- x86-mswin32-60
GEM PATHS:
- D:/ruby/lib/ruby/gems/1.9.0
这下子OK了。