1

I started to mess around with ruby but I'm turning crazy with LoadError. First of all this is my configuration:

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

and

 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/ruby-1.9.3-p0@global - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - http://rubygems.org/ 

installed gems:

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) 

This is my script start.rb header:

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

and xxx.rb header:

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

Now if I run sudo ruby start.rb I get this error:

/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 and cfpropertylist are the only ones that generate errors.

When I try rvmsudo ruby start.rbI get this one:

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

I guess I have a dirty installation of ruby..but I'm not sure that's the problem. I'm trying to running someonelse's script...this was the installation script:

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 

And the README says to run it with rvmsudo ruby start.rb

1 Answer 1

2

just ruby start.rb

not sure why you want to execute it with sudo. RVM gives you a local install of ruby 1.9.3 If you sudo it, you surpass your local user and ask root to execute ruby on your script which in turn will call the system ruby which is 1.8 on your system.

Sign up to request clarification or add additional context in comments.

3 Comments

That's what I get with 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>'
reinstall rvm without sudo anywhere. Then also reinstall the gems with just gem install. Again, no sudo required.
or at least remove that 1.9.3 you installed with rvmsudo and just rvm install 1.9.3

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.