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?
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
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:
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
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
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
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
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.
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/
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.
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!
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
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.
Gunakan brew install libxml2 libxslt
jika anda menggunakan Homebrew.
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.
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
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
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.
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
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.
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.