无效的规范缓存文件
我在Windows 8上安装了带有Gem 2.2.2的ruby 2.0.0p247 [x64-mingw32]。我有一个持久性问题gem,使它几乎无法使用。 每当我尝试安装新gem时,我总会得到:
ERROR: While executing gem ... Invalid spec cache file in C:/Users/...
在过去,我已经能够运行gem update
或gem update --system
,这将解决单个 gem install
。 后续安装将失败并出现相同的错误。 现在甚至gem更新失败并显示该错误消息。
我试过删除users/.../.gem
目录。 当我这样做时, gem update
重新创建该目录并立即失败,并显示相同的错误消息。
我用gem重新安装了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 `'
我有同样的问题,但能够以这种方式解决它:
删除users/%user%/.gem/
的文件夹,然后重新运行命令gem sources --update
希望这可以帮助。