2009-11-06 4 views
7

레일 앱을 실행하면 설치된 모든 보석을 올바르게 찾을 수 있습니다.irb에서 보석을 찾을 수 없습니다 : "NameError : 초기화되지 않은 상수 보석 (irb)"

irb 내부에서 보석을 호출하려고 시도한 것은 이번이 처음인데 찾을 수 없습니다. 나는 "보석 환경"을 실행하면

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> 

이 내가 무엇을 얻을 수 있습니다 :

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 

IRB에 따르면, 보석 경로는 역순 제외하고는 동일합니다

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

답변

13

'rails.rb'파일을 찾을 수 없기 때문에 작동하지 않습니다 (레일 젬에 그런 파일이 없다고 생각합니다).

require 'rubygems' 
require 'activerecord' 

또는 사용 '보석'명령이 같은 : 당신이 필요하지 않습니다 루비의 최신 버전에서

require 'rubygems' 
gem 'rails' 
+1

은 당신이 중 하나는 '액티브'와 같은 특정 레일 구성 요소를 필요로 할 수 있습니다 '루비 젬 요구 ' – ScottJShea

관련 문제