2

約1か月前、gem install libxml-rubyを使用してlibxml-rubyをインストールしましたが、正常に機能しました。それから私は今日それを別のマシンにインストールしようとしました、そしてそれはこのエラーで失敗しました:

C:\Windows\system32>gem install -r libxml-ruby
Building native extensions.  This could take a while...
ERROR:  Error installing libxml-ruby:
        ERROR: Failed to build gem native extension.

c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake RUBYARCHDIR=c:/ruby/lib/ruby/
gems/1.8/gems/libxml-ruby-1.1.3-x86-mswin32-60/lib RUBYLIBDIR=c:/ruby/lib/ruby/g
ems/1.8/gems/libxml-ruby-1.1.3-x86-mswin32-60/lib
'c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake' is not recognized as an int
ernal or external command,
operable program or batch file.


Gem files will remain installed in c:/ruby/lib/ruby/gems/1.8/gems/libxml-ruby-1.
1.3-x86-mswin32-60 for inspection.
Results logged to c:/ruby/lib/ruby/gems/1.8/gems/libxml-ruby-1.1.3-x86-mswin32-6
0/ext/mingw/gem_make.out

rakeをインストールしてwin32-apiを使用します

その後、以前に実際にlibxml-rubyを自分のマシンにインストールしていて、それをアンインストールして再インストールしようとした場合、混乱しました。これで失敗し、私のマシンで同じエラーメッセージが表示され、以前は機能していたxmlを解析するために作成した一部のスクリプトが機能しなくなりました。最近WindowsXPにlibxml-rubyをインストールしようとした人はいますか?完全に壊れているようです。

4

1 に答える 1

4

私は同じ問題を抱えて、まともな回避策を考え出すことになりました。

エラーは正しいようです

'c:/ruby/lib/ruby/gems/1.8/gems/rake-0.8.4/bin/rake'

は有効な実行可能ファイルではありません。ラッピングバッチファイルが存在するルートruby/binフォルダーからrakeを実行する必要があります。

rubygemsコードを調べてみると、Gem :: Ext::RakeBuilderがを使用して拡張機能を構築しようとしていることがわかりました。

cmd = ENV['rake'] || Gem.bin_path('rake') rescue Gem.default_exec_format % 'rake'

したがって、gem installを実行する前に、rake環境変数を有効なものに設定するだけで役立つはずです。

C:\>set rake=c:\ruby-1.8.6-26\bin\rake.bat

C:\>gem install libxml-ruby --no-rdoc --no-ri
Building native extensions.  This could take a while...
Successfully installed libxml-ruby-1.1.3-x86-mswin32-60
1 gem installed

(rdocとriのインストールをスキップしたのは、フォーマットに関する警告が大量に出力され、結果をここに貼り付けるのが難しくなるためです。)

于 2009-05-05T16:18:21.413 に答える