【问题标题】:Rubygems don't load in IRB or Rails ConsoleRubygems 不在 IRB 或 Rails 控制台中加载
【发布时间】:2013-06-08 18:39:47
【问题描述】:

在 OSX 上使用 RVM,我正在尝试使用 ruby​​ gem。然而,一个

require 'rubygems'

在 IRB 和 Rails 控制台中返回 false。在这里经历了类似的问题,我认为这可能与 Gem 路径与 Gem 环境有关。

MAC-AC028761:Ruby ac028761$ irb
1.9.3-p429 :001 > require 'rubygems'
 => false
1.9.3-p429 :002 > Gem.path
 => ["/Users/ac028761/.rvm/gems/ruby-1.9.3-p429", "/Users/ac028761/.rvm/gems/ruby-1.9.3-p429@global"]
1.9.3-p429 :003 > exit
MAC-AC028761:Ruby ac028761$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 1.8.25
  - RUBY VERSION: 1.9.3 (2013-05-15 patchlevel 429) [x86_64-darwin12.3.0]
  - INSTALLATION DIRECTORY: /Users/ac028761/.rvm/gems/ruby-1.9.3-p429
  - RUBY EXECUTABLE: /Users/ac028761/.rvm/rubies/ruby-1.9.3-p429/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/ac028761/.rvm/gems/ruby-1.9.3-p429/bin
  - RUBYGEMS PLATFORMS:
        - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /Users/ac028761/.rvm/gems/ruby-1.9.3-p429
     - /Users/ac028761/.rvm/gems/ruby-1.9.3-p429@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://rubygems.org/

“gem env”上的“Gem.path”和 GEM PATHS 都是相同的,所以这不是问题。 无法弄清楚如何解决此问题。

【问题讨论】:

    标签: ruby rubygems rvm irb rails-console


    【解决方案1】:

    由于 Ruby 1.9 rubygems 是解释器在启动时自动要求的,因此无需再次要求。

    $ irb
    irb> $LOADED_FEATURES.grep /rubygems.rb/
    # => ["/usr/lib/ruby/1.9.1/rubygems.rb"]
    irb> defined?(Gem)
    # => "constant"
    

    【讨论】:

    • 谢谢,这解释了它,因为我绝对可以在 IRB 和 Rails 控制台中使用我的 gem,“错误”是彻头彻尾的误导。
    【解决方案2】:

    如果您尝试要求的文件是 已经需要了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-04
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-09
      相关资源
      最近更新 更多