2014-01-05 64 views
4

当我尝试捆绑我得到这个错误引入nokogiri宝石安装错误安装与狂欢

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当我运行创业板安装引入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 

请注意出现

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 错误:我已经安装了libxslt1-devlibxml2-dev是在nokogiri安装中的要求。 我也试过gem install nokogiri -v '1.6.1'但它仍然失败。我已经在另一个应用程序中安装了nokogiri -v 1.5.0,所以我在这个应用程序中尝试了它,并得到了疯狂需要nokogiri版本1.6.0或更高版本的错误。我错过了什么?

+1

请在'gem install nokogiri'命令 –

+0

上添加错误跟踪并添加'mkmf.log'也 –

+0

@Monk_Code我在gem install nokogiri上添加了错误跟踪。 –

回答

4

那么这里就是解决我的问题。我创建了一个新的gemset,例如

rvm gemset create nokogiri 
rvm use [email protected] 

注意:我使用的是rvm和ruby 2.0.0。然后我确定我已经通过运行安装了必要的lib

sudo apt-get install libxml2-dev libxslt-dev 

这些库碰巧已经安装好了。然后我安装了nokogiri

gem install nokogiri -v '1.6.1' 

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

+0

我遇到了ruby 2.0.0-p353的一个非常类似的问题,它仍然没有解决。有趣的是,我可以使用Ruby 2.0.0-p195成功安装nokogiri。请参阅我的帖子在这里:http://stackoverflow.com/questions/20983515/problems-installing-nokogiri-gem-on-mac-osx-snow-leopard-with-ruby-2-0-0-p353 – Bharat

+0

在centOS我在nokogiri编译libxml2时遇到了问题,请注意,您可以安装'libxml2'的打包版本,然后使用它来构建gem:'sudo apt-get install libxml2; gem install nokigiri - --use-system-libraries'。 – Antoine

0

检查RVM gemset。我通过恢复gemset来修复它。如果你尝试升级到4.0.2?我用引入nokogiri 1.6.1与2.0.0的Ruby和Rails 4.0.2

0

试试这个

sudo apt-get install ruby-dev 
sudo apt-get install libxml2 libxml2-dev libxslt1-dev 


并重新安装nokogiri

sudo gem install nokogiri