2012-02-20 1 views
2

Ruby 1.8.6의 버그로 인해 Float#round이 1.9.3으로 업그레이드되었습니다. 설치 후 irb가 작동하지 않아 psych이 부족하다는 불평을했습니다. 그래서 보석을 설치하려했지만 libyaml이 존재하지 않으므로 화가났습니다. 그들이 왜 그렇게 중요한지 그들이 포함되지 않은 이유를 모르겠습니다.Ruby 버전 오류/crack/xml in irb

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>' 

이 무엇을 의미합니까 :

는 지금, 나는이 오류가 ($LOAD_PATH를 사용하여 ... 실제로 현재 폴더에보고 싶지 않도록 지정하는 데 후) require 'Location.rb' 사용할 때? 또한 ruby -v을 실행하면 1.9.3p0으로 내 버전이 나열되지만 1.9.1에서는이 버전이 사용됩니까? 내가 원하는 건 내 백혈구 다.

+0

어떤 OS입니까? 왜 RVM을 사용하지 않습니까? –

+0

누가 당신을 업그레이드해야합니까? 당신은 1.8.7을 사용하거나 자신의 Float.round를 wrritten 수 있습니다. –

+0

@MarkThomas OS X. 저는 RVM을 사용하고 있습니다. 제가'rvm install 1.9.3'을 할 때 이미 가지고 있다고 말합니다. 나는 그것을 재설치하려고 시도했는데, 그것은 성공적이었다. 'ruby -v'는 1.9.3에 있지만 irb는'.../ruby ​​/ 1.9.1'을보고 있는데 왜 그런지 모르겠다. – Chris

답변

4

사용할 수 있습니다. 왜 2 버전의 Ruby를 참조하는지, 왜 이러한 종속성이 Ruby 빌드에 포함되어 있지 않은지 (irb는 이들 없이는 작동하지 않을 것이기 때문에) 나는 크랙 젬을 설치하기 위해 수정해야만하는지 모르겠습니다. sudo gem install crack

1

당신은 루비 '균열'라는 XML 파서를 찾고 있었다 밝혀졌다

require_relative 'Location.rb' 

또는

require './Location.rb' 
+0

을 붙이려는 자신감을 얻지는 못했지만 irb에서는 그렇지 않았습니다. 또한 균열 – Chris

+0

에 대한 LoadError가 수정되지 않거나 'XXXlib/Location.rb'이 필요하면 사용할 수 있습니다. 사용중인 라이브러리를 모른다. 여기를 봐 http://stackoverflow.com/questions/4632090/how-can-i-reload-a-script-in-irb – dursun

+0

라이브러리가 아니라 모두 함께 폴더에있는 스크립트를 테스트 – Chris