libxml-rubyをinstallしてみたメモ
portable Ubuntuでlibxml-rubyをインストールしたら、凄い躓いたのでメモを。
と、思ったけど長いからまず結論。
結論として
$ sudo apt-get install libxslt1-dev $ sudo apt-get install libxml2-dev $ sudo apt-get install ruby1.8-dev $ sudo gem update --system $ sudo gem1.8 install libxml-ruby
これで動きまス。
んで、以下作業ログ。
作業ログ
まぁ、一発で入るでしょ!凄いよgem!!
$ sudo gem install libxml-ruby Bulk updating Gem source index for: http://gems.rubyforge.org ....
オウフ
止まった。。。
仮想環境のメモリが256だとgemがメモリに展開して処理するには足りないみたい。
なので、confを編集して512へ引き上げてから再実行。
$ sudo gem install libxml-ruby Gem files will remain installed in /var/lib/gems/1.8/gems/libxml-ruby-1.1.3 for inspection. Results logged to /var/lib/gems/1.8/gems/libxml-ruby-1.1.3/ext/libxml/gem_make.out
まだだめ。
依存関係のライブラリがあるようで、gemからのlibxml-rubyを単体でインストールしようとしてもダメらしいデス。
しょうがないからそっちも探してインストール。
どうやらlibxslt1-devとlibxml2-devという開発用のパッケージをapt-getすればいいみたい。
$ sudo apt-get install libxslt1-dev $ sudo apt-get install libxml2-dev $ sudo gem install libxml-ruby Select which gem to install for your platform (i486-linux) 1. libxml-ruby 1.1.3 (ruby) 2. libxml-ruby 1.1.3 (x86-mswin32-60) 3. libxml-ruby 1.1.2 (x86-mswin32-60) 4. libxml-ruby 1.1.2 (ruby) 5. Skip this gem 6. Cancel installation > 1 Building native extensions. This could take a while... ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError) ERROR: Failed to build gem native extension. ruby extconf.rb install libxml-ruby extconf.rb:14:in `require': no such file to load -- mkmf (LoadError) from extconf.rb:14
まだだめ。
mkmfがLoadError?
それっぽい記事をみつけたので試してみる
$ sudo gem install why-hpricot --source http://gems.github.com Building native extensions. This could take a while... ERROR: While executing gem ... (Gem::Installer::ExtensionBuildError) ERROR: Failed to build gem native extension. ruby extconf.rb install why-hpricot --source http://gems.github.com extconf.rb:1:in `require': no such file to load -- mkmf (LoadError) from extconf.rb:1
ボスケテtt
冷静になって調べるとどうもruby-develですよね、なるほど?
$ sudo apt-get install ruby-devel E: パッケージ ruby-devel が見つかりません
ahi...
えっと?
ruby-develじゃなくて、ruby1.8-dev?
なんか魔法っぽくなってきた(おもに脳みその湯立ち具合が)
今度こそ!
ついでにgemもVerUP!
$ sudo apt-get install ruby1.8-dev $ sudo gem update --system
gemがw
gem1.8になったw
$ sudo gem1.8 install libxml-ruby
大量にEnclosingを吐きましたがいったっぽい。。。
ドキュメント(RDOC)の問題?かな?カナ?
とりえあえずテストコード。
xml_orig = LibXML::XML::Parser.new xml_orig.string = open( 'ファイルパス/test.xml' ) do |f| f.read end xml = xml_orig.parse xml.find( '対象エレメント' ).each do |node| p node end # ついでに保存とかもしちゃう xml.save('./output.xml', :indent => true, :encoding => LibXML::XML::Encoding::UTF_8)
問題なく動いた!!
細かい使い方はこちらからで。
http://libxml.rubyforge.org/rdoc/index.html
と、簡単な使い方をまとめてみました!
とりあえず動かしてみる!
という方は参照ください〜。
以上お疲れ様でした〜><