Nokogiri gem安装错误与spree[英] Nokogiri gem installation error with spree

本文是小编为大家收集整理的关于Nokogiri gem安装错误与spree的处理方法,想解了Nokogiri gem安装错误与spree的问题怎么解决?Nokogiri gem安装错误与spree问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我在尝试捆绑安装时遇到此错误

Bundler::GemspecError: Could not read gem at /home/theareba/.rvm/gems/ruby-2.0.0-p353/cache/nokogiri-1.6.1.gem. It may be corrupted.
An error occurred while installing nokogiri (1.6.1), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.6.1'` succeeds before bundling.

我尝试删除缓存中的 nokogiri 并再次捆绑安装,但徒劳无功.这是我的gemfile

source 'https://rubygems.org'
gem 'rails', '4.0.0'
ruby "2.0.0"

gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '2-1-stable'
gem 'spree', github: 'spree/spree', branch: '2-1-stable'
gem 'bootstrap-sass', '2.3.2.0'

gem 'sass-rails' 
gem 'uglifier'
gem 'coffee-rails'
gem 'jquery-rails'
gem 'turbolinks'
gem 'jbuilder'

group :development, :test do
  gem 'turn', :require => false 
  gem 'sqlite3'
  gem 'taps', :require => false
  gem 'rspec-rails'
end

group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor'
end

更新运行 gem install nokogiri -v '1.6.0' 时发生的错误

Fetching: mini_portile-0.5.2.gem (100%)
Fetching: nokogiri-1.6.0.gem (100%)
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.9.1 extconf.rb
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from extconf.rb:5:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/nokogiri-1.6.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/nokogiri-1.6.0/ext/nokogiri/gem_make.out

注意:我已经安装了 nokogiri 安装所需的 libxslt1-dev 和 libxml2-dev.我也试过 gem install nokogiri -v '1.6.1' 但它仍然失败.我已经在另一个应用程序中安装了 nokogiri -v 1.5.0,所以我在这个应用程序中尝试了它并得到了 spree 需要 nokogiri 版本 1.6.0 或更高版本的错误.我错过了什么?

推荐答案

所以这就是解决我的问题的方法.我创建了一个新的 gemset,即

rvm gemset create nokogiri
rvm use ruby-2.0.0-p353@nokogiri

注意:我使用的是 rvm 和 ruby​​ 2.0.0.然后我确保通过运行安装了必要的库

sudo apt-get install  libxml2-dev libxslt-dev

这些库恰好已经安装.然后我安装了 nokogiri

gem install nokogiri -v '1.6.1'

安装成功.最后运行 bundle install 来获取我所有的宝石.希望这可以帮助任何有同样问题的人.

本文地址:https://www.itbaoku.cn/post/786769.html