リポジトリの新しいバージョンをチェックアウトした後、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