2011-12-29 91 views
1

我開始用ruby搞砸了,但是我對LoadError感到瘋狂。這一切 首先是我的配置:紅寶石 - LoadError

which ruby 
/home/daniele/.rvm/rubies/ruby-1.9.3-p0/bin/ruby 

gem env 
    RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.10 
    - RUBY VERSION: 1.9.3 (2011-10-30 patchlevel 0) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /home/daniele/.rvm/gems/ruby-1.9.3-p0 
    - RUBY EXECUTABLE: /home/daniele/.rvm/rubies/ruby-1.9.3-p0/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/daniele/.rvm/gems/ruby-1.9.3-p0/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /home/daniele/.rvm/gems/ruby-1.9.3-p0 
    - /home/daniele/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

安裝寶石:

bundler (1.0.21 ruby) 
CFPropertyList (2.0.17) 
eventmachine (0.12.10) 
httparty (0.8.1) 
json (1.6.4) 
libxml-ruby (2.2.2) 
multi_json (1.0.4) 
multi_xml (0.4.1) 
rake (0.9.2) 
uuidtools (2.1.2) 

這是我的腳本start.rb頭:

require 'xxx'#xxx.rb is in the same dir 

的d xxx.rb標題:

require 'rubygems' 
require 'eventmachine' 
require 'zlib' 
require 'cfpropertylist' 
require 'pp' 
require 'tweakSiri' 
require 'interpretSiri' 

現在,如果我跑sudo ruby start.rb我得到這個錯誤:

/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- eventmachine (LoadError) 
    from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require' 
    from ./siriAuth.rb:2 
    from start.rb:2:in `require' 
    from start.rb:2 

EventMachine的和cfpropertylist是產生錯誤唯一的。

當我嘗試rvmsudo ruby start.rb我得到這個:

/home/daniele/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- siriAuth (LoadError) 
    from /home/daniele/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
    from start.rb:2:in `<main>' 

我想我有ruby..but的骯髒安裝我不知道這就是問題所在。 我試圖運行someonelse的劇本......這是安裝腳本:

bash < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" 

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile 

rvmsudo rvm install 1.9.3 

rvm use 1.9.3 --default 

rvmsudo gem install eventmachine CFPropertyList httparty json uuidtools 

而且README說與rvmsudo紅寶石start.rb

回答

2

只是ruby start.rb

不知道運行你爲什麼想用sudo執行它。 RVM爲您提供本地安裝的ruby 1.9.3 如果您使用它,您將超越您的本地用戶,並要求root在您的腳本上執行ruby,然後再調用系統上的系統ruby爲1.8。

+0

這就是我用ruby獲得的start.rb:/home/daniele/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in 'require':無法加載這樣的文件 - siriAuth(LoadError) \t from /home/daniele/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb :36:在'require'中 \t from start.rb:2:在'

' – rops 2011-12-29 12:13:45

+0

重新安裝沒有sudo的rvm任何地方。然後用gem install重新安裝寶石。再次,不需要sudo。 – three 2011-12-29 12:47:39

+0

或至少刪除1.9.3你安裝rvmsudo和只是rvm安裝1.9.3 – three 2011-12-29 12:48:24