2011-12-29 3 views
1

Я начал возиться с рубином, но я схожу с ума от LoadError. Прежде всего это моя конфигурация:Ruby - 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 выполнить рубин на вашем скрипте, который, в свою очередь, вызовет рубин системы, который равен 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 из /home/daniele/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb : 36: in 'require ' \t от start.rb: 2: in'

' – rops

+0

переустанавливать rvm без sudo в любом месте. Затем также переустановите драгоценные камни только с установкой gem. Опять же, не требуется судо. – three

+0

или хотя бы удалить, что 1.9.3 вы установили с rvmsudo и просто rvm install 1.9.3 – three