无效的规格缓存文件

Lar*_*yTX 5 ruby rubygems

我在 Windows 8 上安装了 ruby​​ 2.0.0p247 [x64-mingw32] 和 Gem 2.2.2。我有一个持续存在的问题 gem,导致它几乎无法使用。每当我尝试安装新的 gem 时,我总是会得到:

ERROR: While executing gem ... Invalid spec cache file in C:/Users/...
Run Code Online (Sandbox Code Playgroud)

过去,我已经能够运行gem updateor gem update --system,这将解决一个单一的 gem install问题。后续安装将失败并出现相同的错误。现在,甚至 gem 更新也失败并显示该错误消息。

我尝试过删除该users/.../.gem目录。当我这样做时,gem update重新创建该目录并立即失败并显示相同的错误消息。

我用 gems 重新安装了 ruby​​ 1.9.8 几次以尝试解决问题,然后升级到 ruby​​ 2.0.0。在所有重新安装和升级过程中,问题仍然存在。

我已经无计可施了。谁能帮我解决这个问题?

这是编辑的回溯”

L:\xampp\htdocs\frameworks\yii2\framework>gem update --backtrace
Updating installed gems
ERROR:  While executing gem ... (Gem::Exception)
    Invalid spec cache file in C:/Users/Larry/.gem/specs/rubygems.org%443/specs.4.8
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/source.rb:187:in `rescue in load_specs'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/source.rb:179:in `load_specs'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/spec_fetcher.rb:266:in `tuples_for'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/spec_fetcher.rb:228:in `block in available_specs'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/source_list.rb:97:in `each'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/source_list.rb:97:in `each_source'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/spec_fetcher.rb:222:in `available_specs'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/spec_fetcher.rb:102:in `search_for_dependency'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/commands/update_command.rb:113:in `fetch_remote_gems'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/commands/update_command.rb:135:in `highest_remote_version'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/commands/update_command.rb:264:in `block in which_to_update'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/commands/update_command.rb:260:in `each'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/commands/update_command.rb:260:in `which_to_update'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/commands/update_command.rb:96:in `execute'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/command.rb:305:in `invoke_with_build_args'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/command_manager.rb:167:in `process_args'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/command_manager.rb:137:in `run'
        C:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/gem_runner.rb:54:in `run'
        C:/Ruby200-x64/bin/gem:21:in `<main>'
Run Code Online (Sandbox Code Playgroud)

小智 1

我遇到了同样的问题,但能够通过以下方式解决:

删除其中的文件夹users/%user%/.gem/并重新运行命令gem sources --update

希望这可以帮助。