Ошибки версии Ruby / crack / xml в irb - PullRequest
2 голосов
/ 20 февраля 2012

Из-за ошибки с Float#round в Ruby 1.8.6 я был вынужден перейти на 1.9.3, и мальчик был таким ужасным.После установки irb не работал, жалуясь на отсутствие psych.Поэтому я попытался установить драгоценный камень, но он был зол, что 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 вернулся и работает!

Ответы [ 2 ]

6 голосов
/ 20 февраля 2012

Оказалось, что Ruby ищет синтаксический анализатор XML под названием «crack». Я не знаю, почему он ссылается на 2 версии Ruby или почему эти зависимости не включены в сборку Ruby (поскольку irb не будет работать без них), но для исправления я установил драгоценный камень crack. sudo gem install crack

1 голос
/ 20 февраля 2012

вы можете использовать

require_relative 'Location.rb'

или

require './Location.rb'
...