ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续

标签 ruby rubygems ruby-on-rails-3.2

运行 bundle install 后出现此错误:

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

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

最佳答案

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

此外,可能值得使用 gem update --system 更新 ruby​​gems 版本,如 this answer 中所述

关于ruby - 安装libv8(3.11.8.13)出错,Bundler无法继续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14776685/

相关文章:

ruby - 无法加载这样的文件 - toml-rb,尽管安装了 gem

ruby - 使用 Rails 3.2.1 进行路由

ruby-on-rails - 基于 GET 参数的 Rails 路由

Ruby 字符串格式 : Omit element in list

ruby - 如何使用 Devise 来保护 delayed_job_web 接口(interface)?

ruby-on-rails - 如何测试使用不同数据库修改 ActiveRecord 的 gem?

RubyGems 在 Fedora 23 上构建 native 扩展失败

java - 如何将系统属性从jruby传递到Rails服务器

ruby - 在 linux 上安装 gems 的权限错误

ruby - 在 Rails 3.2 应用程序中包含 Git 中 vendor/cache 的内容是否可取?