在… / latest-specs.rb中的规范缓存文件无效

我有一个类似的问题: 无效的规范缓存文件,但它没有答案。

我们的rails应用程序最近从ruby 2.1.2升级到2.1.5

当我将它下载到我的笔记本电脑上(桌面工作正常)时,需要rvm install 2.1.5,然后为2.1.5创建一个新的gemset

我试图运行bundle而没有安装bundler所以我尝试了gem install bundler并且它响应了以下错误消息:

 ERROR: While executing gem ... (Gem::Exception) Invalid spec cache file in /my_dir/.gem/specs/api.rubygems.org%443/latest_specs.4.8 

在检查该目录时,我发现有一个specs.4.8文件,但没有latest_specs.4.8文件

我试过的事情:

  • 我删除并重新创建了gemset,同样的问题。
  • 我跑了gem update
  • 我吹走了/my_dir/.gem/specs并重新进行了gem update
  • 我运行了gem update --system
  • 我重新安装了ruby 2.1.5并再次完成了所有操作……

当我将ruby-version更改回2.1.2并使用rvm use 2.1.2; bundle rvm use 2.1.2; bundle它没有问题(但然后捆绑器已存在于该gemset中)。

gem环境:

 RubyGems Environment: - RUBYGEMS VERSION: 2.2.2 - RUBY VERSION: 2.1.5 (2014-11-13 patchlevel 273) [x86_64-darwin10.0] - INSTALLATION DIRECTORY: /my_dir/.rvm/gems/ruby-2.1.5 - RUBY EXECUTABLE: /my_dir/.rvm/rubies/ruby-2.1.5/bin/ruby - EXECUTABLE DIRECTORY: /my_dir/.rvm/gems/ruby-2.1.5/bin - SPEC CACHE DIRECTORY: /my_dor/.gem/specs - RUBYGEMS PLATFORMS: - ruby - x86_64-darwin-10 - GEM PATHS: - /my_dir/.rvm/gems/ruby-2.1.5 - /my_dir/.rvm/gems/ruby-2.1.5@global - GEM CONFIGURATION: - :update_sources => true - :verbose => true - :backtrace => false - :bulk_threshold => 1000 - REMOTE SOURCES: - https://rubygems.org/ 

试试这个:

 gem sources --clear-all gem sources --update 

如果这不起作用,请在此处查看我的更长答案: 腐蚀的rubygem系统

最终我放弃并重新安装了ruby 2.1.5并删除了gemset。

然后事实certificate我可以安装而无需首先创建一个gemset。

只是rvm use 2.1.5然后gem install bundler然后bundle

所以:不知道出了什么问题(并且仍然鼓励其他人回答解释),但这对我有用。