読者です 読者をやめる 読者になる 読者になる

【Ruby】【nokogiri】インストールできた…!

nokogiri ruby

偉大な先輩に助けていただいてなんとかなりました…!!
今までは、古いバージョンのlibxmlが読まれているだとか怒られていたり、htmlの

gem uninstall nokogiri

http://d.hatena.ne.jp/kitamomonga/20090615/ruby_nokogiri_with_latest_libxml2_by_hand
の通りに実行します

wget ftp://xmlsoft.org/libxml2/LATEST_LIBXML2
tar xzvf LATEST_LIBXML2
cd libxml2-2.7.3/
# $HOME/usr/local/lib/libxml2.so になるようにインストールしたい
./configure --prefix=$HOME/usr/local
make
make install

その後、
下の方のリンクにある「$HOMEに入れたlibxml2を使うようにgem install nokogiriする方法+」に載っている

gem install --no-ri --no-rdoc nokogiri -- \
 --with-opt-lib=$HOME/usr/local/lib \
 --with-opt-include=$HOME/usr/local/include/libxml2 \
 --with-cflags="-L$HOME/usr/local/lib -Wl,-rpath,$HOME/usr/local/lib" \
 --with-ldflags=-Wl,-rpath,$HOME/usr/local/lib

を実行します

Building native extensions.  This could take a while...
Successfully installed nokogiri-1.4.3.1
1 gem installed

変なのが出ていません…!


サンプルソース

#!/usr/bin/ruby

require 'kconv'
require 'rubygems'
require 'open-uri'
require 'nokogiri'
hp_address = "http://www.ruby-lang.org/ja/"

doc = Nokogiri::HTML(open(
 hp_address),nil,"utf-8")
print doc
print "###########################################\n"
doc.css("h3").each do |div|
 puts div.text
end

実行結果

※※ものすごく長いhtmlソース省略※※



          <p>Content available in <a href="/en/">English</a>, <a href="/fr/">French</a>, <a href="/ja/">Japanese</a>, <a href="/ko/">Korean</a>, <a href="/pl/">Polish</a>, <a href="/es/">Spanish</a>, <a href="/pt/">Portuguese</a>, <a href="/zh_cn/">Simplified Chinese</a>, <a href="/zh_TW/">Traditional Chinese</a>, <a href="/id/">Bahasa Indonesia</a>, <a href="/de/">German</a>, <a href="/it/">Italian</a>, <a href="/cs/">Czech</a> and <a href="/bg/">Bulgarian</a>.</p>
          <p>このサイトはRubyと<a href="http://radiantcms.org">Radiant CMS</a>によって構築されています。
          また、コンテンツはRubyコミュニティによって管理されています。
          質問やコメントは
            <a href="mailto:webmaster@ruby-lang.org">webmaster</a>
          までお願いします。</p>
        </div>

      </div>
    </div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script><script type="text/javascript" defer>
// <![CDATA[
_uacct = "UA-620926-1";
urchinTracker();
// ]]>
</script>
</body>
</html>
###########################################
Ruby 1.9.2 RC2リリース
Ruby 1.9.2 RC1リリース
Ruby 1.9.1-p429リリース
その他のニュース
はじめよう!
探求しよう!
コミュニティに参加しよう
RubyForge トッププロジェクト
Syndicate

やった…!!!
removeしたり、もう一度インストールし直したことが功を奏したのでしょうか…
とりあえず、libxml2をremove・参照している.soファイル?(あとでちょっと見てきて載せます)をコマンド(rm)で削除・インストール
上に載せたgem installのコマンドはしました… いらなかった部分もありそうです
ちょっと具体的に成功した要因を説明できないのがなんですが・・・
なんとかなってよかった!!!ヽ(*´∀`)ノ