5

サーバー側で libxml-ruby gem に問題があります x86_64 アーキテクチャを使用しているため可能性があります:

$ uname -a Linux ip-10-228-171-64 2.6.21.7-2.fc8xen-ec2-v1.0 #1 SMP Tue Sep 1 10:25:30 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

gem を再インストールしても解決しない

4

5 に答える 5

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

コンソール上。これが役立つことを願っています

于 2010-08-04T15:45:15.840 に答える
3

libxml-ruby gem のバージョンを 1.1.3 に戻してみてください

于 2011-04-05T04:05:34.627 に答える
1

Linux では、何らかの理由で gem が混乱し、libxml-ruby 用の Windows DLL をインストールすることがあります。これを確認するには、fileon (ruby lib path)/ruby/gems/1.8/gems/libxml-ruby-1.1.4/lib/libxml_ruby.so を実行すると、libxml_ruby.so が Windows PE DLL であることが示されます。

これを回避するために私が見つけた方法は、プラットフォームを強制することです。

gem install libxml-ruby --platform ruby

于 2010-12-14T15:13:47.180 に答える
0

今日も同じ問題に遭遇し、rubygems が ELF *.so ではなく Windows dll をインストールしていたことが判明しました。かなり古いバージョンの Rubygems (1.3.7) を実行していますが、gem を再インストールすると問題が解決しました。そのバージョンの Rubygems または何かでプラットフォームが検出されるかどうかわかりませんか?

于 2011-06-30T22:15:26.770 に答える