0

リポジトリの新しいバージョンをチェックアウトした後、rake タスクで未定義のメソッド エラーが発生することがわかりました。次のコードが呼び出され、このエラーがスローされます: undefined method 'source_index' for Gem:Module. それでもGem.source_index明確に定義されているようです。

module Gem
  def self.source_index=(index)
    @@source_index = index
  end
end

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

    def self.unpacked_path
      @unpacked_path ||= File.join(RAILS_ROOT, 'vendor', 'gems')
    end

    @@framework_gems = {}

    def self.add_frozen_gem_path
      @@paths_loaded ||= begin
        source_index = Rails::VendorGemSourceIndex.new(Gem.source_index) // ERROR HERE
        Gem.clear_paths
        Gem.source_index = source_index
        # loaded before us - we can't change them, so mark them
        Gem.loaded_specs.each do |name, spec|
          @@framework_gems[name] = spec
        end
        true
      end
    end
4

1 に答える 1