2009-11-06 16 views
7

Cuando ejecuto una aplicación de Rails, encuentra todas mis gemas instaladas correctamente.No se pueden encontrar gemas en irb: "NameError: constante no inicializada Gem from (irb)"

Esta es la primera vez que trato de llamar a algunas gemas desde dentro de IRB y no pude encontrarlas.

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> 

Cuando corro "entorno joya" esto es lo que me sale:

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 

Según IRB, el camino joya es el mismo, salvo en el orden inverso:

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"] 

Respuesta

13

No funciona porque no puede encontrar el archivo 'rails.rb' (creo que no hay tal archivo en la gema de los rieles).

Puede requerir componente carriles específicos, como 'activerecord':

require 'rubygems' 
require 'activerecord' 

O utilizar el comando 'joya', de esta manera:

require 'rubygems' 
gem 'rails' 
+1

En las versiones más recientes de Ruby no será necesario 'require 'rubygems'' – ScottJShea

Cuestiones relacionadas