Saya meningkatkan OSX (Lion) saya ke Mavericks dan saya tidak dapat menginstal Nokogiri untuk proyek saya.
Saya sudah menginstal XCode 5.0.1, Command Line Tools (menggunakan xcode-select --install
), dan telah menginstal libxml2 dari Homebrew dan saya masih mengalami masalah.
Kesalahannya 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 menginstal libxml2, libxslt dan libiconv dari Homebrew, dan mengatur params untuk menginstal Nokogiri, tetapi tidak berfungsi juga.
Saya tidak dapat menemukan apa yang salah di lingkungan saya, dapatkah Anda membantu saya?
Jawaban:
Anda juga dapat menginstal Nokogiri di Mac OS X 10.9 Mavericks dengan Instal XCode lengkap menggunakan:
Memperbarui
Bagi mereka yang menggunakan Yosemite , perintah berikut akan berfungsi:
atau, mungkin sebenarnya ada di
MacOSX10.11.sdk
folder Anda (milik saya per 18-Sep-2015), jadi meskipun Anda belum sepenuhnya menggunakan El Capitan, saya baru saja memperbarui XCode dan Anda mungkin perlu menggunakan El Capitan SDK jalur, yang mengikuti selanjutnya:Memperbarui
Bagi mereka yang menggunakan El Capitan , perintah berikut akan berfungsi:
Memperbarui
Bagi mereka yang menggunakan Sierra , perintah berikut akan berfungsi:
sumber
--use-system-libraries
agar ini berfungsi:gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries
gem install nokogiri -- --with-xml2-include=`xcrun --show-sdk-path`/usr/include/libxml2 --use-system-libraries
Setelah menavigasi GIF animasi di sini , yang harus saya lakukan hanyalah sederhana
xcode-select --install
dangem install nokogiri
berfungsi dengan baik.sumber
Saya menemukan log ini dan melihat bahwa gcc-4.2 tidak ditemukan:
Untuk mengatasi masalah ini saya menginstal apple-gcc42 menggunakan homebrew
brew install apple-gcc42
dan membuat symlink ke / usr / bin saya:sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc-4.2
sumber
brew install apple-gcc42
.. dan terus bekerja. Perintah itu tidak berhasil untukmu?xcode-select --install
sebelum pemasangan bir dan semua berfungsi sekarang.Jika Anda menjalankan Xcode 5.1, alat baris perintah tidak berfungsi untuk nokogiri 1.6.1. Anda harus mengunduh alat Akhir Oktober 2013 dari Apple . Setelah Anda melakukan itu, jalankan
untuk menyiapkan mesin Anda agar menggunakan alat baris perintah Xcode 5.0.X, lalu jalankan
Jika Anda ingin mengatur ulang alat baris perintah Anda ke versi Xcode.app setelah itu jalankan
Atau, hal lain yang dapat Anda lakukan adalah menambahkan bendera untuk mengabaikan argumen baris perintah yang tidak diketahui. Kemudian instalasinya terlihat seperti ini:
sumber
Inilah yang berhasil untuk saya di OSX Mavericks:
sumber
sudo
dengan RVM atau rbenv akan menyebabkan masalah karena root tidak tahu di mana Rubi berkotak pasir berada. Ini tercakup di halaman instalasi RVM . OP menggunakan RVM, dan menggunakansudo
akan menyebabkan Nokogiri menginstal ke Ruby Apple, bukan pengguna. Jadi, jangan lakukan ini kecuali Anda YAKIN ingin menginstal Ruby Apple jika Anda menggunakan Mac OS, atau ke sistem Ruby jika Anda menggunakan * nix lain.Saya menggunakan OSX Mavericks dan masalah saya ternyata adalah pemasangan Ruby yang buruk.
Jadi, saya menginstal ulang ruby dengan rvm:
Saya kemudian bisa
Masalah terpecahkan.
sumber
Saya suka tetap menggunakan hal-hal yang disediakan sistem biasanya. Ini berhasil untuk saya:
sumber
Saya mengalami masalah ini segera setelah menginstal pembaruan Mavericks 10.9.5 dan pembaruan alat Pengembang 10.9 dari Apple. Saya lari
xcode-select --install
, tapi itu tidak menyelesaikan masalah. Kemudian saya membuka Xcode, menerima eula, dan keluar dari Xcode. Itu memperbaiki masalah.sumber
Saya mengalami masalah ini hari ini, di Maverick, beginilah akhirnya saya menyelesaikan masalah:
Pastikan Anda mengetahui versi libiconv di Cellar tambang di bawah ini adalah 1.14, lalu instal seperti di bawah ini:
Jika Anda memerlukan versi nokogiri tertentu misalnya -v '1.6.2.1' kemudian instal sebagai:
Nokogiri berhasil diinstal!
sumber
Ini sama dengan postingan @ thomas_witt tetapi berfungsi di Mac OS X Sierra:
sumber
Agar penginstalan berfungsi, saya harus memodifikasi jalur file di
gem install
perintah agar sesuai dengan yang ada di sistem saya. Saya memiliki versi libxml2 dan libiconv yang berbeda dan struktur file yang sedikit berbeda. Perintahnya, dengan modifikasi saya, adalah:sumber
Untuk orang yang menggunakan MacPorts , pastikan Anda telah menginstal
libxml2
melaluiMacPorts
. Lalu ketik:Ini harus melakukan trik, berhasil untuk saya tanpa menggunakan jalur lengkap.
sumber
Gunakan
brew install libxml2 libxslt
jika Anda menggunakan Homebrew.sumber
Berikut referensi lainnya:
Saya mendapat kesalahan saat menginstal nokogiri
kesalahan seperti ini:
Anda harus menginstal alat pengembangan terlebih dahulu.
maka mungkin perlu:
atau jika Anda mendapat kesalahan seperti
Saya hanya memperbaiki jalur lib dengan:
untuk bundel membutuhkan sesuatu seperti:
sumber
Ini berhasil untuk saya
Jalankan saja di bawah dua perintah
Ini akan meminta Anda untuk mengunduh mengatakan "ya" kemudian akan meminta untuk menginstal komponen xcode klik instal.
Sekarang coba instal gem dengan perintah di bawah ini
Ini bekerja untuk saya dengan lingkungan di atas.
sumber
Saya mengalami masalah yang sama untuk Mavrick, dan solusinya adalah:
Namun, itu tidak berfungsi karena halaman unduhan Apple untuk alat baris Perintah tidak memiliki penginstal yang tersedia untuk umum sekarang.
Jadi, jika Anda ingin memiliki alat baris perintah untuk Mavricks, Anda harus memiliki akun berbayar . Maka hanya Anda yang dapat menginstalnya. Setelah Anda menginstalnya, Anda tidak akan menghadapi masalah ini dengan Nokogiri.
sumber
Saya mengalami kesalahan yang sama pada pemasangan Mavericks baru. Setelah melewati penilaian, saya mengganti nama bundel aplikasi Xcode saya menjadi
Xcode 5.0.1.app
.Rupanya skrip instalasi Nokogiri tidak mengutip jalurnya sehingga ruang di nama file menyebabkan segala macam atau masalah. Baru setelah saya mencoba
brew install libxml2
kesalahannya menjadi jelas.Hal yang dipelajari: spasi dalam nama file itu jahat.
sumber
Dalam kasus saya, saya harus benar-benar menjalankan /usr/bin/gcc-4.2 setelah menghubungkannya. Anda harus menerima perjanjian lisensi, jika tidak maka akan hang.
sumber
Pesan kesalahan memberi petunjuk di sini:
The compiler failed to generate an executable file. (RuntimeError)
Anda juga mungkin perlu menginstal dan menautkan ini:
sumber
sumber
Bagi saya kesalahannya adalah bahwa gcc (4.2.1, diinstal dari Homebrew) mengeluh bahwa:
Saya menyelesaikan masalah dengan memaksa hanya x86_64:
sumber
Setelah meningkatkan ke Maverick, saya mengalami masalah serupa. Saya menggunakan RVM dengan Ruby 1.9.2-p320, dan saya mencoba beberapa solusi yang diberikan di sini, tetapi tidak ada yang menyelesaikan masalah.
Kemudian saya mengganti ke Ruby 2.1.2, dan
bundle install
segera menginstal Nokogiri.sumber
Jika ada yang mengalami masalah ini di el capitan, saat menggunakan bundler.
Pastikan alat baris perintah xcode diinstal dan jalankan ini:
sumber
Saya menghadapi masalah yang sama dari dua minggu terakhir ketika mencoba menjalankan aplikasi versi rails 3.
Masalahnya adalah rvm / rbenv Anda tidak menggunakan kompiler C.
Gunakan perintah ini untuk rvm untuk mengambil compiler C yang kompatibel
Jadi jika Anda menggunakan Ruby 1.9.3, gunakan cara ini
Gunakan perintah ini setiap kali Anda tidak dapat memasang bundel atau apapun. Hal ini berfungsi di El Capitan, rel 3.2.16, ruby 1.9.3, mysql 5.7 Semoga, Ini akan menyelesaikan masalah.
Saya menghadapi masalah yang sama dari dua minggu terakhir ketika mencoba menjalankan aplikasi versi rails 3.
Masalahnya adalah rvm / rbenv Anda tidak menggunakan kompiler C.
Gunakan perintah ini untuk rvm untuk mengambil compiler C yang kompatibel
Jadi jika Anda menggunakan Ruby 1.9.3, gunakan cara ini
Gunakan perintah ini setiap kali Anda tidak dapat memasang bundel atau apapun.
Hal ini berfungsi di El Capitan, rel 3.2.16, ruby 1.9.3, mysql 5.7 Semoga, Ini akan menyelesaikan masalah. Dan juga jika Anda sudah memiliki Xcode dan juga Anda tidak mendapatkan kesalahan yang sama saat menginstal permata apa pun, coba solusi ini.
sumber
Saya menambahkan temuan saya di sini setelah saya menemukan masalah yang sama ini tidak lama setelah Upgrade: http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/
Perbaikan sederhananya adalah 2 perintah ini:
Semoga membantu.
sumber
Saya mengalami masalah ini juga. Berjalan
brew doctor
menunjukkan bahwa saya memiliki versi libiconv yang tidak terduga di / user / local / lib.Jadi saya menghapusnya, dan mengubah nama libxml:
Akhirnya saya instal nokogiri:
sumber
Tak satu pun dari jawaban ini berhasil untuk kasus khusus saya, dan karena saya seorang pemula, saya pikir solusi saya mungkin dapat membantu orang lain.
Saya menggunakan Yosemite dan menggunakan Ruby 1.9.3p547. Ada eksposur keamanan untuk p547 jadi saya mencoba memperbarui ke Ruby 1.9.3p550 atau lebih tinggi. Saya menggunakan RVM, lalu mencoba memigrasi permata saya dan banyak di antaranya tidak berhasil. Kemudian saya mencoba memaketkan instalasi tetapi itu gagal dan saya pikir mungkin itu adalah konflik antara berbagai jalur dan ketergantungan jadi saya menghapus versi Ruby yang lebih lama. Ini menghancurkan segalanya.
Saya terus mendapatkan pesan yang mengatakan bahwa kompiler C hilang, meskipun saya telah mengunduh XCode dan baru-baru ini memperbarui alat CLI. Saya menemukan situs web lain yang meminta saya untuk mengunduh GCC pihak ketiga, yang saya lakukan. yang membuat segalanya menjadi lebih buruk.
Sekarang saya mendapatkan pesan yang mengatakan saya perlu memperbaiki profil dan PATH saya atau mungkin lebih mudah untuk menginstal ulang OSX. Jadi saya lakukan.
Bagaimanapun, cerita yang lebih panjang hanya panjang: solusi yang akhirnya berhasil bagi saya adalah menyingkirkan RVM dan hanya menggunakan brew untuk mengunduh versi Ruby yang saya inginkan sebelum menjalankannya
bundle install
. Instal versi Nokogiri yang benar PERTAMA.sumber
sudo
akan menyebabkan Nokogiri diinstal di satu-satunya Ruby yang diketahui oleh root, yang kemungkinan besar adalah Ruby yang diinstal Apple kecuali menggunakan Homebrew. Karena OP menggunakan RVM, itu berarti Nokogiri tidak akan terlihat oleh Ruby yang dikelola RVM, dan hanya akan menambah masalah. Menggunakansudo
mungkin telah bekerja dalam hal ini, tetapi tidak harus mencoba dengan RVM atau rbenv dikelola Ruby. RVM secara khusus mengatakan untuk tidak melakukannya dalam dokumentasi instalasi .untuk windows Anda juga dapat mencoba instalasi lokal:
unduh permata yang sesuai berdasarkan lingkungan Anda.
buka direktori tempat Anda menyimpan file permata.
gem install --local nokogiri-1.6.3.1-x86-mingw32.gem
jika tidak berhasil, Anda dapat memeriksa apakah Anda telah menginstal zlib dan mingw atau compiler c yang tepat.
sumber
Setiap hal buruk di sini tidak melakukannya untuk saya (saya tidak menginstal ulang bir, oy), tetapi ini akhirnya berhasil (ditemukan melalui laporan bug pada beberapa proyek yang tidak terkait):
Semoga berhasil. Hore untuk #yakshaving!
sumber
Periksa versi alat Commandline Anda. Siapkan mesin Anda untuk menggunakan alat baris perintah Xcode 5.0.X, lalu jalankan:
sumber