3

最新の MacRuby リリース ノート (v0.6) には、作成者がこのリリースを SQLite および Nokogiri gem で動作させることができたと記載されています。ただし、実行するsudo macgem install nokogiriと次のエラーが発生します。

ERROR:  Error installing nokogiri:

extconf が失敗しました:

そして、一連のパスが続きます:

libxml2 is missing.  try 'port install libxml2' or 'yum install libxml2'
/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/lib/ruby/Gems/1.9.0/gems/nokogiri-1.4.1/ext/nokogiri/extconf.rb:1:in `<main>': libxml2 is missing.  try 'port install libxml2' or 'yum install libxml2' (SystemExit)

誰でもこれを機能させる方法を知っていますか? 私のプラットフォームは Mac OS X 10.6.3 です。Nokogiri は通常 (プレーンな古い Ruby 1.8.7 での意味) 問題なくインストールされます。

進捗

OK、だから私は持っている:

  1. git clone http://github.com/tenderlove/nokogiri.git
  2. cd nokogiri/ext/nokogiri
  3. 次に、macports ライブラリを再構築しましたsudo port upgrade --enforce-variants libxml2 +universalsudo port upgrade --enforce-variants libxslt +universal
  4. その後、私はmacruby extconf.rb正常に実行されました
  5. それから私はに進みますmake

この時点で、次のようにエラーになります。

/usr/bin/gcc -I. -I/opt/local/include/libxml2 -I/opt/local/include/ -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0/universal-darwin10.0 -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0 -I. -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETPARSERSTRUCTUREDERRORS -DHAVE_XMLRELAXNGSETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETVALIDSTRUCTUREDERRORS -DHAVE_XMLSCHEMASETPARSERSTRUCTUREDERRORS -I/opt/local/include/ -I/opt/local/include/libxml2 -I/opt/local/include  -fno-common -fexceptions -fno-common -pipe -O3 -g -Wall -Wno-parentheses  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -arch i386 -arch x86_64 -o html_document.o -c html_document.c
In file included from ./html_document.h:4,
             from html_document.c:1:
./nokogiri.h:35:16: error: st.h: No such file or directory
In file included from ./html_document.h:4,
             from html_document.c:1:
./nokogiri.h:35:16: error: st.h: No such file or directory
lipo: can't open input file: /var/folders/wU/wUGgoG1JGeKBgwalWLPMAU+++TI/-Tmp-//ccSgAUv5.out (No such file or directory)
make: *** [html_document.o] Error 1
4

4 に答える 4

1

GitHubのソースコードを利用する場合、

$ git clone git://github.com/tenderlove/nokogiri.git
$ cd のこぎり/内線/のこぎり/
$ sed -i.bak 's/<st.h>/<ruby\/st.h>/' nokogiri.h

のこぎりの逸品パッケージを作れば、

$ CD ../..
$ sudo gem install how
$ sudo gem install rake-compiler
$ sudo gem インストール racc
$ sudo gem install rexical
$ mkdir ~/.rubyforge; touch ~/.rubyforge/user-config.yml
$レーキジェム

上記のコマンドは、システムデフォルトの ruby​​ を使用しました。("/usr/bin/ルビー")

$ cd パッケージ
$ sudo macgem install nokogiri-1.4.1.gem
于 2010-05-10T14:57:06.220 に答える
1

libxml2 をユニバーサル バイナリとしてビルドする必要があると思います。

MacPorts を使用している場合は、以下のコマンドを実行します。

$ sudo ポート アップグレード --enforce-variants libxml2 + ユニバーサル
$ sudo port upgrade --enforce-variants libxslt +universal
$ sudo ポート アップグレード --enforce-variants sqlite3 +universal

それでもインストールに失敗します(x_x;

$ sudo macgem install nokogiri                   
ネイティブ拡張機能の構築。これにはしばらく時間がかかる場合があります...
エラー: nokogiri のインストール中にエラーが発生しました:
 失敗しました:

はい\nxmlRelaxNGSetParserStructuredErrors() をチェックしています... はい\nxmlRelaxNGSetParserStructuredErrors() をチェックしています... はい\nxmlRelaxNGSetValidStructuredErrors() をチェックしています... はい\nxmlSchemaSetValidStructuredErrors() をチェックしています... はい\nxmlSchemaSetParserStructuredErrors() をチェックしています...はい\nMakefile を作成しています\n", "make", "/usr/bin/gcc -I. -I/opt/local/include/libxml2 -I/opt/local/include/ -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0/universal-darwin10.0 - I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9.0/ruby/backward -I/Library/Frameworks/MacRuby.framework/Versions/0.6/usr/include/ruby-1.9. 0 -I.
于 2010-05-06T15:23:36.463 に答える
1

Nokogiri の頭だけが MacRuby に準拠しているので、ソースからビルドする必要があると思います

于 2010-05-06T04:04:18.560 に答える
0

パッケージ化したものをGitHubにアップロードしました。 http://wiki.github.com/Watson1978/nokogiri-macruby/

于 2010-05-13T20:38:10.810 に答える