Kesalahan menginstal Nokogiri di OSX 10.9 Maverick?

Saya upgrade OSX (Lion) untuk Mavericks dan saya dapat't menginstal Nokogiri untuk proyek-proyek saya.

Saya sudah install XCode 5.0.1, Baris Perintah yang Sesuai (menggunakan xcode-pilih --install), dan sudah dipasang libxml2 dari Homebrew dan saya masih memiliki masalah.

Kesalahan adalah:

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/bin/ruby extconf.rb
checking for libxml/parser.h... *** 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
    --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=/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/bin/ruby
    --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-iconv-dir
    --without-iconv-dir
    --with-iconv-include
    --without-iconv-include=${iconv-dir}/include
    --with-iconv-lib
    --without-iconv-lib=${iconv-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-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-pkg-config
    --without-pkg-config
    --with-libxml-2.0-config
    --without-libxml-2.0-config
    --with-libiconv-config
    --without-libiconv-config
/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)
You have to install development tools first.
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:452:in `try_cpp'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:853:in `block in find_header'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking_for'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels) in postpone'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:254:in `open'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
    from /Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/mkmf.rb:852:in `find_header'
    from extconf.rb:116:in `<main>'

Gem files will remain installed in /Users/ericcamalionte/Locaweb/code/dns-panel/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.9 for inspection.
Results logged to /Users/ericcamalionte/Locaweb/code/dns-panel/vendor/bundle/ruby/1.9.1/gems/nokogiri-1.5.9/ext/nokogiri/gem_make.out
An error occured while installing nokogiri (1.5.9), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '1.5.9'` succeeds before bundling.

Saya telah menginstal libxml2, libxslt dan libiconv dari Homebrew, dan mengatur params untuk menginstal Nokogiri, tapi don't bekerja terlalu.

Saya dapat't menemukan apa yang's yang salah di lingkungan, dapat anda membantu saya?

Mengomentari pertanyaan (2)

Anda juga dapat menginstal Nokogiri pada Mac OS X 10.9 Mavericks dengan penuh XCode Menginstal menggunakan:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2

Update

Bagi mereka yang menggunakan Yosemite perintah berikut ini akan bekerja:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2 --use-system-libraries

atau, itu mungkin benar-benar berada di MacOSX10.11.sdk folder (saya adalah sebagai 18-Sep-2015) lagian, sehingga bahkan jika anda belum sepenuhnya sampai ke El Capitan, saya baru-baru ini diperbarui XCode dan anda mungkin perlu untuk menggunakan El Capitan SDK jalan, yang mengikuti berikutnya:

Update

Bagi mereka yang menggunakan El Capitan perintah berikut ini akan bekerja:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries

Update

Bagi mereka yang menggunakan Sierra perintah berikut ini akan bekerja:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 --use-system-libraries
Komentar (12)

Setelah menavigasi animasi Gif di sini, semua yang harus saya lakukan adalah hanya xcode-pilih --install dan gem install nokogiri bekerja dengan baik.

Komentar (3)
Larutan

Saya menemukan ini log dan melihat bahwa gcc-4.2 tidak ditemukan:

package configuration for libxslt
cflags: -I/usr/local/Cellar/libxslt/1.1.28/include -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2
ldflags: -L/usr/local/Cellar/libxslt/1.1.28/lib -L/usr/local/Cellar/libxml2/2.9.1/lib
libs: -lxslt -lxml2 -lz -lpthread -liconv -lm -lxml2

package configuration for libxml-2.0
cflags: -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2
ldflags: -L/usr/local/Cellar/libxml2/2.9.1/lib
libs: -lxml2

package configuration for libiconv is not found
"/usr/bin/gcc-4.2 -o conftest -I/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/x86_64-darwin11.4.0 -I/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1/ruby/backward -I/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/include/ruby-1.9.1 -I. -I/usr/local/Cellar/libxslt/1.1.28/include -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2 -I/usr/local/Cellar/libiconv/1.14/include -I/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/include -I/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26/include -I/Users/ericcamalionte/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE    -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wshorten-64-to-32 -Wno-long-long  -fno-common -pipe  -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline -DNOKOGIRI_USE_PACKAGED_LIBRARIES -DNOKOGIRI_LIBXML2_PATH='"/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0"' -DNOKOGIRI_LIBXSLT_PATH='"/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26"' -I/usr/local/Cellar/libxslt/1.1.28/include -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2  -I/usr/local/Cellar/libxml2/2.9.1/include/libxml2  conftest.c  -L. -L/Users/ericcamalionte/.rvm/rubies/ruby-1.9.2-p320/lib -L/usr/local/Cellar/libxslt/1.1.28/lib -L/usr/local/Cellar/libxml2/2.9.1/lib -L/usr/local/Cellar/libiconv/1.14/lib -L/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/lib -L/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26/lib -L/Users/ericcamalionte/.rvm/usr/lib -L.  -Wl,-rpath,/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxml2/2.8.0/lib -Wl,-rpath,/Users/ericcamalionte/.rvm/gems/ruby-1.9.2-p320@dns-panel/gems/nokogiri-1.6.0/ports/x86_64-apple-darwin13.0.0/libxslt/1.1.26/lib -L/usr/local/Cellar/libxslt/1.1.28/lib -L/usr/local/Cellar/libxml2/2.9.1/lib -L/usr/local/Cellar/libxml2/2.9.1/lib     -lxslt -lxml2 -lz -lpthread -liconv -lm -lxml2  -lxml2  -lruby.1.9.1-static  -lpthread -ldl -lobjc  "
sh: /usr/bin/gcc-4.2: No such file or directory
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: int main() {return 0;}
/* end */

Untuk memecahkan masalah ini saya intalled apple-gcc42 menggunakan homebrew brew install apple-gcc42 dan dibuat symlink ke /usr/bin :

sudo ln-s /usr/local/Gudang/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc-4.2

Komentar (11)

Jika anda're menjalankan Xcode 5.1, command line tools don't bekerja untuk nokogiri 1.6.1. Anda'akan perlu untuk men-download Akhir oktober 2013 alat-alat dari Apple. Setelah anda melakukan itu berjalan

sudo xcode-select -s /Library/Developer/CommandLineTools/

untuk set up mesin anda untuk menggunakan Xcode 5.0.X command line tools, kemudian jalankan

gem install nokogiri

Jika anda ingin mengatur ulang alat baris perintah untuk Xcode.aplikasi versi sesudahnya menjalankan

sudo xcode-select -r

Atau, hal lain yang dapat anda lakukan adalah menambahkan bendera untuk mengabaikan yang tidak diketahui argumen baris perintah. Kemudian install terlihat seperti ini:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nokogiri
Komentar (0)

Ini adalah apa yang bekerja untuk saya pada OSX Mavericks:

sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install nokogiri -v '1.6.1' --verbose --no-ri --no-rdoc
Komentar (2)

I'm di OSX Mavericks dan masalah saya berubah menjadi buruk menginstal Ruby.

Jadi, saya ulang ruby dengan rvm :

rvm remove ruby 2.0.0p451
rvm remove ruby-2.0.0-p451 && rvm install ruby-2.0.0-p451

Saya kemudian mampu

gem install nokogiri --no-ri --no-rdoc

Masalah diselesaikan.

Komentar (2)

Aku lebih suka dengan sistem yang disediakan hal-hal yang biasanya. Ini bekerja untuk saya:

gem install nokogiri -- --with-iconv-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/ --with-iconv-lib=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/lib/
Komentar (1)

Aku berlari ke dalam masalah ini segera setelah menginstal Mavericks 10.9.5 update dan 10.9 alat Pengembang update dari Apple. Aku berlari xcode-pilih --install, tapi itu tidak memperbaiki masalah. Kemudian aku membuka XCode, menerima eula, dan berhenti XCode. Yang tetap masalah.

Komentar (0)

Aku punya masalah ini hari ini, di Maverick, ini adalah bagaimana saya berakhir pemecahan masalah:

brew update
brew install libiconv
brew link libiconv

Pastikan bahwa anda tahu versi libiconv di bawah Tanah tambang bawah adalah 1.14, kemudian install seperti di bawah ini:

gem install nokogiri -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14

Jika anda membutuhkan versi tertentu dari nokogiri e.g -v '1.6.2.1' kemudian instal seperti:

gem install nokogiri -v '1.6.2.1' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14

Nokogiri telah berhasil diinstal!

Komentar (1)

Ini adalah sama seperti @thomas_witt's post tapi bekerja pada Mac OS X Sierra:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 --use-system-libraries
Komentar (0)

Ini bekerja untuk saya

system: OS X Yosemite 10.10
rvm: 1.26.10
ruby: ruby 2.2.1 

Hanya menjalankan dua perintah di bawah ini

$ xcode-select --install

Ini akan meminta anda untuk men-download berkata "ya" kemudian ia akan meminta untuk menginstal komponen xcode klik install.

Sekarang mencoba untuk menginstal permata dengan perintah di bawah ini

gem install nokogiri --no-ri --no-rdoc

Ini bekerja untuk saya di atas dengan lingkungan.

Komentar (0)

Gunakan brew install libxml2 libxslt jika anda menggunakan Homebrew.

Komentar (0)

Untuk orang-orang yang menggunakan MacPorts, pastikan anda telah menginstal libxml2 melalui MacPorts. Kemudian ketik:

bundle config build.nokogiri --use-system-libraries
bundle install

Ini harus melakukan trik, bekerja untuk saya tanpa menggunakan full path.

Komentar (0)

Berikut ini adalah referensi lainnya:

system: OS X Yosemite 10.10
rvm: 1.26.10
brew: 0.9.5
ruby: ruby 2.2.0p0 (2014-12-25 revision 49005) [x86_64-darwin14]

Aku punya kesalahan saat memasang nokogiri

kesalahan seperti ini:

.rvm/rubies/ruby-2.2.0-p0/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed to generate an executable file. (RuntimeError)

Anda harus menginstal alat-alat pengembangan pertama.

kemudian mungkin perlu:

$ xcode-select --install

atau jika anda punya kesalahan seperti

checking for libxml/parser.h... no

Saya hanya memperbaiki lib jalan oleh:

gem uninstall nokogiri libxml-ruby
brew update
brew uninstall libxml2
brew install libxml2 libxslt
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2/libxml --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/

untuk bundle perlu sesuatu seperti:

bundle config build.nokogiri --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2/libxml --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/ --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26/
bundle install
Komentar (0)

Untuk mendapatkan menginstal untuk bekerja, saya harus memodifikasi filepaths di gem install perintah untuk mencocokkan orang-orang pada sistem saya. Saya memiliki versi yang berbeda dari libxml2 dan libiconv dan yang sedikit berbeda struktur file. Perintah, dengan saya modifikasi, adalah:

gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 
                        --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib 
                        --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 
                        --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include 
                        --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib
Komentar (3)

Saya menambahkan temuan saya di sini setelah saya menemukan masalah yang sama tak lama setelah Upgrade: http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/

Perbaikan hanya 2 perintah:

xcode-pilih --install gem install nokogiri

Semoga membantu.

Komentar (4)

Jika ada yang mengalami masalah ini di el capitan, sementara menggunakan bundler.

Pastikan xcode alat baris perintah yang diinstal dan dijalankan ini:

bundle config build.nokogiri --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries
Komentar (0)

Dalam kasus saya, saya harus benar-benar menjalankan /usr/bin/gcc-4.2 setelah symlinking. Anda harus menerima perjanjian lisensi, jika tidak, itu tergantung.

Komentar (0)

Aku berlari ke dalam masalah yang sama untuk Mavrick, dan solusinya adalah:

xcode-select --install

Namun, itu tidak bekerja seperti Apple's download page untuk Perintah-baris-alat tidak memiliki installer yang tersedia secara publik sekarang.

Jadi, jika anda ingin memiliki alat-alat baris perintah untuk Mavricks anda harus memiliki dibayar akun. Kemudian hanya anda akan dapat menginstal itu. Setelah anda menginstalnya, anda tidak akan menghadapi masalah ini dengan Nokogiri.

Komentar (2)

Saya menghadapi masalah yang sama dari dua minggu terakhir ketika mencoba untuk menjalankan sebuah rel 3 versi aplikasi.

Masalah adalah bahwa anda rvm/rbenv tidak menggunakan C compiler.

Gunakan perintah ini untuk rvm untuk mengambil kompatibel C compiler

CC=gcc rvm install-version

Jadi jika anda menggunakan Ruby 1.9.3, gunakan cara ini

CC=gcc rvm install-1.9.3

Gunakan perintah ini setiap kali anda tidak dapat menginstal bundel atau apa pun. Hal ini adalah bekerja di El Capitan, rel 3.2.16, ruby 1.9.3, mysql 5.7 Mudah-mudahan, Itu akan menyelesaikan masalah.

Saya menghadapi masalah yang sama dari dua minggu terakhir ketika mencoba untuk menjalankan sebuah rel 3 versi aplikasi.

Masalah adalah bahwa anda rvm/rbenv tidak menggunakan C compiler.

Gunakan perintah ini untuk rvm untuk mengambil kompatibel C compiler

CC=gcc rvm install-version

Jadi jika anda menggunakan Ruby 1.9.3, gunakan cara ini

CC=gcc rvm install-1.9.3

Gunakan perintah ini setiap kali anda tidak dapat menginstal bundel atau apa pun.

Hal ini adalah bekerja di El Capitan, rel 3.2.16, ruby 1.9.3, mysql 5.7 Mudah-mudahan, Itu akan menyelesaikan masalah. Dan juga jika anda sudah memiliki Xcode dan kemudian juga anda tidak mendapatkan kesalahan yang sama menginstal permata, mencoba solusi ini.

Komentar (1)