狂放的Nokogiri宝石安装错误 [英] Nokogiri gem installation error with spree

查看:146
本文介绍了狂放的Nokogiri宝石安装错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  Bundler :: GemspecError:无法读取gem在/家用/ theareba / .rvm /宝石/红宝石2.0.0-P353 /缓存/引入nokogiri-1.6.1.gem。它可能已损坏。 
安装nokogiri(1.6.1)时发生错误,并且Bundler不能
继续。
确保在捆绑之前,gem install nokogiri -v'1.6.1'`成功。

我尝试删除缓存中的nokogiri,并且再次徒劳地安装捆绑包。
这里是我的gemfile

$ p $ source'https://rubygems.org'
gem'rails', '4.0.0'
ruby​​2.0.0

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

gem'sass-rails '
gem'uglifier'
gem'咖啡栏'
gem'jquery-rails'
gem'turbolinks'
gem'jbuilder'

group:开发,: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'

 提取:mini_portile-0.5.2.gem(100%)
提取:nokogiri-1.6.0.gem(100%)
构建原生扩展。这可能需要一段时间...
错误:安装nokogiri时出错:
错误:无法构建gem原生扩展。

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


Gem文件将保留安装在/var/lib/gems/1.9.1/gems/nokogiri-1.6.0中进行检查。
结果记录到/var/lib/gems/1.9.1/gems/nokogiri-1.6.0/ext/nokogiri/gem_make.out

注意:我已经安装了 libxslt1-dev libxml2-dev 我也试过 gem install nokogiri -v'1.6.1'但它仍然失败。我已经在另一个应用程序中安装了nokogiri -v 1.5.0,所以我在这个应用程序中尝试了它,并得到了狂欢需要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 $ b来安装必要的lib $ b  

库已经安装好了。然后我安装了nokogiri

  gem install nokogiri -v'1.6.1'

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

I'm getting this error when I try to bundle install

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.

I've tried removing nokogiri in the cache and bundle installing again in vain. Here's my 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

UPDATE Error that occurs when I run 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

Note: I've installed both libxslt1-dev and libxml2-dev that are requirements in nokogiri installation. I've also tried gem install nokogiri -v '1.6.1' but it still fails. I've installed nokogiri -v 1.5.0 in another app so I tried it in this app and got the error that spree requires nokogiri version 1.6.0 or greater. I'm I missing something?

解决方案

So here's what solved my problem. I created a new gemset i.e

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

Note: I'm using rvm and ruby 2.0.0. Then I made sure I've got necessary lib installed by running

sudo apt-get install  libxml2-dev libxslt-dev

The libraries happened to be already installed. Then I installed nokogiri

gem install nokogiri -v '1.6.1'

It installed successfully. And finally ran bundle install to get all my gems. Hope this helps anyone having the same issue.

这篇关于狂放的Nokogiri宝石安装错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆