Ruby Rake任务偶尔会失败,未定义错误

Ruby Rake任务偶尔会失败,未定义错误,ruby,rake,Ruby,Rake,我在回购协议中签下了一个新的承诺,对其他人都有效。我运行一个rake任务,它调用此代码并抛出undefined错误,即使Gem.source\u index似乎已定义 module Gem puts "in module Gem" def self.source_index=(index) puts "defining the source index" @@source_index = index end end module Rails class GemD

我在回购协议中签下了一个新的承诺,对其他人都有效。我运行一个rake任务,它调用此代码并抛出
undefined
错误,即使
Gem.source\u index
似乎已定义

module Gem
  puts "in module Gem"
  def self.source_index=(index)
    puts "defining the source index"
    @@source_index = index
  end
end

module Rails
  class GemDependency < Gem::Dependency
    attr_accessor :lib, :source, :dep

    def self.add_frozen_gem_path
      puts "Oh hi there"
      puts "the source index is " + Gem.source_index // ERROR HERE
    end

怎么了?

Gem.source\u index
在Ruby 1.9中被弃用,在Ruby 2.0*中被删除。我怀疑您现在正在使用Ruby 2.0,这会给您带来确切的错误

请注意,您确实为它定义了setter,但没有定义getter


(*从技术上讲,它可能与特定版本的Rubygems而不是Ruby绑定。1.9.3安装和升级的Rubygems安装将等同于一件事。)

这很有效!我做了
rvm列表
,然后
rvm使用ree-1.8.7-2012.02
in module Gem
Oh hi there
rake aborted!
undefined method `source_index' for Gem:Module