2009-11-06 2 views
7

私はRailsアプリケーションを実行すると、インストールされたすべての宝石を正しく検出します。irbで宝石を見つけることができません: "NameError:初期化されていない定数Gem from(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'ファイルを見つけることができないので動作しません(レール宝石にそのようなファイルはありません)。

あなたが「ActiveRecordの」のような特定のレールコンポーネント、必要とするか

:ルビーの最近のバージョンの下で

require 'rubygems' 
gem 'rails' 
+1

あなたが必要としません。このように、

require 'rubygems' require 'activerecord' 

OR「宝石」コマンドを使用します'要求 'ルビー宝石' – ScottJShea

関連する問題