2010-05-26 37 views
5

我们在服务器端 可能具有的libxml-红宝石宝石问题加载,因为它使用的是x86_64体系:的libxml-红宝石未能在x86_64的

$ UNAME -a Linux的IP-10-228-171- 64 2.6.21.7-2.fc8xen-EC2-1.0#1 SMP周二9月1 10时25分三十秒EDT 2009 x86_64的GNU/Linux的

require 'libxml' 
LoadError: /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so: invalid ELF header - /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so 
from /usr/local/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml.rb:9 
from /usr/local/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' 
from /usr/local/ruby-enterprise/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:521:in `new_constants_in' 
from /usr/local/ruby-enterprise/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:156:in `require' 
from (irb):1 

宝石版本1.1.4

重新安装宝石没有帮助 有人可以建议该怎么做?

+0

我试过安装1.1.3版本,它也给出了相同的错误 – pahnin 2012-06-17 10:44:57

回答

2

尝试恢复您的libxml-红宝石宝石版本1.1.3

+0

我试过安装1.1.3版本,它也给出了相同的错误 – pahnin 2012-06-17 10:43:23

7

我在Centos中有这个完全相同的问题....实际上,gem版本1.1.4和64位机器存在问题。转到rubyfourge并下载1.1.3版本。

http://rubyforge.org/frs/?group_id=494

下载.gem的然后只需运行:

gem install libxml-ruby-1.1.3.gem 

在控制台上。我希望这可以帮助

+0

虽然1.1.4版本在我的本地64位Mac OS X上工作正常,但是在部署到64位Ubuntu Linux时也遇到同样的问题。降级到1.1.3为我解决了这个问题。谢谢! – caike 2010-11-17 04:39:56

1

由于在Linux上的某些原因,有时gem会感到困惑,并为libxml-ruby安装Windows DLL。你可以通过在(ruby lib path)/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so上执行file来验证这一点,它说libxml_ruby.so是一个Windows PE DLL。

我已经找到解决这个问题的方法是强制的平台,即:

gem install libxml-ruby --platform ruby

+0

对我来说,我不得不运行'gem install libxml-ruby -v 1.1.4 --platform x86_64',因为没有纯ruby版本。 – 2011-12-29 03:49:32

+0

我已经试过'gem install libxml-ruby -v 1.1.4 --platform x86_64'仍然得到相同的错误:( – pahnin 2012-06-17 10:46:44

0

我们跑进今天同样的问题,事实证明,rubygems已经安装了Windows DLL而不是ELF * .so。我们正在运行一个相当旧版本的Rubygems(1.3.7),但重新安装gem却以某种方式解决了这个问题。不确定在该版本的Rubygems中是否有平台检测?

6

对于它的价值,我是有在Ubuntu同样的问题,什么工作是安装libxml的开发包,详细here

的Ubuntu,使用apt-get代替百胜: %须藤apt-get install libxml2-dev

然后安装libxml-ruby gem的工作就像一个魅力。

+0

作品在树莓太办法! – Automatico 2014-04-24 21:38:46