Cannot find gems in irb: "NameError: uninitialized constant Gem from (irb)"

When I run the Rails app, it correctly finds all my gems installed.

This is the first time I tried to call some gems from irb and could not find them.

blocke:~$ irb irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'rails' LoadError: no such file to load -- rails from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from (irb):2 irb(main):003:0> 

When I launch the "gem environment", this is what I get:

 blocke:~$ gem environment RubyGems Environment: - RUBYGEMS VERSION: 1.3.5 - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux] - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /usr/bin/ruby1.8 - EXECUTABLE DIRECTORY: /usr/bin - RUBYGEMS PLATFORMS: - ruby - x86-linux - GEM PATHS: - /usr/lib/ruby/gems/1.8 - /home/blocke/.gem/ruby/1.8 - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - "gem" => "--no-ri --no-rdoc" - :sources => ["http://gemcutter.org", "http://gems.rubyforge.org/", "http://gems.github.com"] - REMOTE SOURCES: - http://gemcutter.org - http://gems.rubyforge.org/ - http://gems.github.com 

According to irb, the gem path remains the same as in the reverse order:

 blocke:~$ irb irb(main):001:0> require 'rubygems' => true irb(main):002:0> Gem.path => ["/home/blocke/.gem/ruby/1.8", "/usr/lib/ruby/gems/1.8"] 
+7
ruby ruby-on-rails rubygems irb
source share
1 answer

This does not work because it cannot find the file "rails.rb" (I think there is no such file in the rails).

You can either require a specific rail component, for example, "activerecord":

 require 'rubygems' require 'activerecord' 

Or use the gem command, for example:

 require 'rubygems' gem 'rails' 
+13
source share

All Articles