【问题标题】:Can't find gems in irb: "NameError: uninitialized constant Gem from (irb)"在 irb 中找不到 gem:“NameError: uninitialized constant Gem from (irb)”
【发布时间】:2009-11-06 19:19:19
【问题描述】:

当我运行 Rails 应用程序时,它会正确找到我安装的所有 gem。

这是我第一次尝试从 irb 内部调用一些 gem,但找不到它们。

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> 

当我运行“gem 环境”时,这是我得到的:

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,gem路径除了顺序相反之外是相同的:

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

【问题讨论】:

    标签: ruby-on-rails ruby rubygems irb


    【解决方案1】:

    它不起作用,因为它找不到'rails.rb'文件(我认为rails gem中没有这样的文件)。

    您可以要求特定的 Rails 组件,例如“activerecord”:

    require 'rubygems'
    require 'activerecord'
    

    或者使用'gem'命令,像这样:

    require 'rubygems'
    gem 'rails'
    

    【讨论】:

    • 在较新的 Ruby 版本下,您将不需要 require 'rubygems'
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-05
    • 2013-07-25
    相关资源
    最近更新 更多