[阅读: 810] 2007-03-15 08:13:23
下载了它的win32下的zip,解压了,但是运行irb总是报错
16:12:47.42 D:\ruby\bin>irb
D:\ruby\bin\ruby: no such file to load -- ubygems (LoadError)
网上才找到:
【
一个小问题
我们肯定对新鲜出炉的Ruby有着无比浓厚的兴趣,于是写了一个Ruby版的“Hello,world”:
puts "Hello, world!"
然后满怀欣喜的运行这个程序,期待着Ruby的问候:
./ruby hello.rb
可能结果会很不幸,我们得到了一个出乎我们意料的结果:
./ruby: no such file to load -- ubygems (LoadError)
这个问题来自Ruby的环境变量RUBYOPT,它是用来记录附加命令行参数,也就是说,对于常用的参数,只要把它设置在RUBYOPT中,就不必每次输入了。究竟是怎样的参数,阻挡了我们使用Ruby的脚步呢?echo一下。
echo $RUBYOPT
结果是:-rubygems
Rubygems是一个类似于RPM的包管理器,不过,在这里怎么会成了绊脚石。看一下帮助就知道了,原来-r表示需要在执行脚本之前加载一个特定的库,于是,这个参数就被解释成了需要加载ubygems这个库,没有这个库当然就会加载失败了。最简单的解决办法就是抛弃它,在BASH中,我们可以这么做:
export RUBYOPT=
这是一个很简单的问题,可我解决的过程中却走了好大弯路,居然是在顺着源码追进去很远的情况下才最终发现了问题所在。记得有问题先搜索!类似的问题在Windows上也有,如果你用的Ruby是One-Click的版本。不过,在那个版本中,它通过在Ruby的查找路径上添加了一个ubygems.rb的文件屏蔽了这个问题。
好了,问题解决了,就让新鲜的Ruby和我们问好吧!
./ruby hello.rb
Hello,world!
】
把RUBYOPT清掉了,但是运行irb还是会报错:readline.dll没找到
但是不影响使用。。。。。。