私はRailsアプリを使用して、各使用アカウントに画像を添付できるようにしています。PaperclipとAmazon Webサービスを使用しています:
gem 'Paperclip'
gem 'aws-sdk'
Bundle installを実行すると、次のメッセージが表示されます。
extconfが失敗しました、終了コード1
Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
An error occurred while installing nokogiri (1.6.5), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.6.5'` succeeds before bundling.
「gem install nokogiri」を実行しようとすると、次のメッセージが表示されます。
extconfが失敗しました、終了コード1
Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
私のOSはMac OS X 10.9.4 Mavericksです。 ここで何が起こっているのですか?nokogiriをインストールして適切に動作させるにはどうすればよいですか?
フルスタックトレース:
Building native extensions with: '--use-system-libraries'
This could take a while...
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/Ruby-2.1.2/bin/Ruby extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... yes
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--Ruby=/usr/local/rvm/rubies/Ruby-2.1.2/bin/Ruby
--help
--clean
--use-system-libraries
--with-zlib-dir
--without-zlib-dir
--with-zlib-include
--without-zlib-include=${zlib-dir}/include
--with-zlib-lib
--without-zlib-lib=${zlib-dir}/lib
--with-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-libxml-2.0-config
--without-libxml-2.0-config
--with-pkg-config
--without-pkg-config
--with-xslt-dir
--without-xslt-dir
--with-xslt-include
--without-xslt-include=${xslt-dir}/include
--with-xslt-lib
--without-xslt-lib=${xslt-dir}/lib
--with-libxslt-config
--without-libxslt-config
--with-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include
--with-exslt-lib
--without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
extconf failed, exit code 1
Gem files will remain installed in /usr/local/rvm/gems/Ruby-2.1.2/gems/nokogiri-1.6.5 for inspection.
Results logged to /usr/local/rvm/gems/Ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.5/gem_make.out
これは魅力のように機能します!
gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
やってみました gem install nokogiri -v 1.6.5 -- --use-system-libraries
?ほとんどのnokogiriエラーは、libxml2、libxslt、またはlibiconv configに関係しています。
Nokogiri docs は、より多くの指示を与えるはずです。ソリューションが機能しない場合は、他のユーザーがさらに支援できるように、完全なスタックトレースを投稿することをお勧めします。
Ubuntuでは、次の依存関係をインストールしてみてください。
Sudo apt-get install gcc Ruby-dev libxslt-dev libxml2-dev zlib1g-dev
Rails 4.2.4(これはNokogiriを含む1.6.6.2
)Ubuntu 14.04の場合(RVMを使用しています)これを行う必要がありました:
Sudo apt-get install libgmp-dev
または
Sudo apt-get install libgmp3-dev
のこぎり取り付け説明書通り、
Sudo apt-get install zlib1g-dev
私のために問題を解決しました。
Nokogiriをインストールする必要があるxcodeの依存関係をインストールすることで、これを解決しました。
xcode-select --install
その後、バンドルのインストールを再度実行すると、機能するはずです。
OPが参照していたのでbundle install
たまたま使用しました Installing Nokogiri ページを指摘する価値があると思います。最終的に最もエレガントなソリューションが明らかになりました(Mac OS X 10.8.5でも機能しました)。
bundle config build.nokogiri --use-system-libraries
bundle install
これは、@ kasperiteの回答のようにnokogiriをインストールするようにバンドラーに指示します
Githubでのdylanjhuntの素晴らしい答え から取得するには、誰かが試していない場合に備えて、
これに加えて、開発ツールを更新することで解決される非常に類似した問題がありました。
xcode-select --install
誰かがこれをまだ試していなかったことを見て、助けになることを期待しています。
私はあなたと同じエラーメッセージを受け取りませんでしたが、Ubuntuにnokogiriをインストールするために非常に簡単な解決策として最終的に見つけたものを書き留めておきたいと思います:
patch
に依存するnokogiriビルドプロセスを無効にします。
実行:Sudo apt-get install patch
私はVM(実際には迷惑な箱)で作業していたので、patch
をまだインストールしていませんでした。
私が得たエラーは(エラーのように見えたが実際には単なる警告であった他の多くのものの後):
Extracting libxml2-2.9.2.tar.gz into tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2... OK
Running patch with /var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ports/patches/libxml2/0001-Revert-Missing-initialization-for-the-catalog-module.patch...
Running 'patch' for libxml2 2.9.2... ERROR, review '/var/lib/gems/1.9.1/gems/nokogiri-1.6.6.2/ext/nokogiri/tmp/x86_64-pc-linux-gnu/ports/libxml2/2.9.2/patch.log' to see what happened.
私は今までにログを削除しました(上記は私の端末セッションでした)が、patch.log
上記で参照したファイルは、とんでもないほど単純でした。それはpatch not found
。
私はそれを修正するためにライブラリをインストールしました。 :)
最初にgccをインストールする
* buntu:apt-get install gcc
その後、Uはlibxml2/zlib /などのほとんどの開発ライブラリを要求できるようになります。ビルドログ(私の場合はパス)を参照してください:/var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nokogiri- 1.6.8.1/mkmf.logのような文字列-致命的なエラー:zlib.h:そのようなファイルまたはディレクトリはありません
今日も同じ問題がありました。私はxcodeを更新しましたが、まだ条件に同意していませんでした。 Sudoの実行
xcodebuild -license
と同意して、私のバンドルが再び機能するようになりました。