我有一个类似的问题:无效的规范缓存文件 ,但它没有答案。
我们的 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
它时,它没有问题(但捆绑器已经存在于该 gemset 中)。
宝石环境:
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/