安装libv8(3.11.8.13)时发生错误,Bundler无法继续

时间:2013-02-08 16:08:48

标签: ruby rubygems ruby-on-rails-3.2

运行捆绑安装后,我收到此错误:

Gem::Package::FormatError: no metadata found in /Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gem
An error occurred while installing libv8 (3.11.8.13), and Bundler cannot continue.
Make sure that `gem install libv8 -v '3.11.8.13'` succeeds before bundling.

我尝试

gem install libv8 -v '3.11.8.13'

但是我得到了

ERROR:  Error installing libv8:
    invalid gem format for /Users/jeanosorio/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gem

这里有什么问题。请帮忙。

1 个答案:

答案 0 :(得分:9)

Gem::Package::FormatError: no metadata found in ...错误消息表明Ruby的缓存目录的内容与实际的gem存储库不同步。

可以通过删除有问题的文件或完整的缓存文件夹并再次运行bundle install来修复错误。

首先尝试删除有问题的文件:

rm ~/.rvm/gems/ruby-1.9.3-p286/cache/libv8-3.11.8.13-x86_64-darwin-12.gem
bundle install

那应该解决问题。如果没有,请删除完整的缓存文件夹:

 rm -rf ~/.rvm/gems/ruby-1.9.3-p286/cache/
 bundle install

参考:

  1. Rails: Fixing Bundle “No Metadata Found” issues
  2. Bundler issue : No metadata found
  3. SO answer to RubyGems issue on OSX
  4. 此外,如this answer

    中所述,使用gem update --system更新rubygems版本可能值得