irb中的Ruby版本错误/crack/xml



因为Ruby 1.8.6中Float#round的一个错误,我被迫升级到1.9.3,而boy就是这么糟糕。安装后,irb无法工作,抱怨缺少psych。所以我试着安装gem,但它对libyaml不存在感到愤怒,所以我安装了它。不知道如果它们如此重要,为什么不包括在内。

现在,当我使用require 'Location.rb'时(在必须指定我确实想在当前文件夹中查找……使用$LOAD_PATH之后),我会得到以下错误:

 LoadError: cannot load such file -- crack/xml
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/lib/ruby/gems/1.9.1/gems/ap-0.1.1/lib/ap.rb:2:in `<top (required)>'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
from /Users/tyre77/Dropbox/Aurora/GMap.rb:4:in `<top (required)>'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from (irb):3
from /usr/local/bin/irb:12:in `<main>'

这是什么意思?此外,当我执行ruby -v时,它将我的版本列为1.9.3p0,但这在1.9.1中是不一样的?我只想我的irb回来工作!

Ruby正在寻找一个名为"crack"的XML解析器。我不知道为什么它引用了Ruby的两个版本,也不知道为什么Ruby构建中没有包含这些依赖项(因为没有它们irb就无法工作),但为了修复这个问题,我安装了crack gem。sudo gem install crack

您可以使用

require_relative 'Location.rb'

require './Location.rb'

最新更新