Kesalahan saat menginstal Nokogiri di OSX 10.9 Maverick?


109

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?



2
Coba buka xcode dan terima EULA / lisensi.
moander

Jawaban:


245

Anda juga dapat menginstal Nokogiri di Mac OS X 10.9 Mavericks dengan Instal XCode lengkap menggunakan:

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

Memperbarui

Bagi mereka yang menggunakan Yosemite , perintah berikut akan berfungsi:

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, mungkin sebenarnya ada di MacOSX10.11.sdkfolder 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:

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

Memperbarui

Bagi mereka yang menggunakan Sierra , perintah berikut akan berfungsi:

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

4
Bukan untuk saya: "libxml2 hilang. Silakan kunjungi nokogiri.org/tutorials/installing_nokogiri.html untuk bantuan dalam menginstal dependensi." Masih mendapatkan kesalahan yang sama.
Pop-A-Stash

1
Harus menambahkan --use-system-libraries. Kemudian bekerja pada instalasi mavericks baru dengan Xcode 5.1.1 dan brew.
jmg

11
Harus menambahkan --use-system-librariesagar 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
Maverick

1
Ini adalah satu-satunya yang akan berhasil untuk saya, di 10.10.3: sudo gem install nokogiri - --with-iconv-lib = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs /MacOSX10.10.sdk/usr/lib --with-iconv-include = / Applications / Xcode.app / Konten / Pengembang / Platform / MacOSX.platform / Pengembang / SDK / MacOSX10.10.sdk / usr / include - with-xml2-include = / Applications / Xcode.app / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / MacOSX10.10.sdk / usr / include / libxml2 --use-system-libraries
Erik Villegas

10
Anda mungkin ingin memperbarui jawaban Anda dengan perintah yang lebih umum yang seharusnya bekerja di semua versi OS X dan jalur penginstalan Xcode:gem install nokogiri -- --with-xml2-include=`xcrun --show-sdk-path`/usr/include/libxml2 --use-system-libraries
Philipp

30

Setelah menavigasi GIF animasi di sini , yang harus saya lakukan hanyalah sederhana xcode-select --installdan gem install nokogiriberfungsi dengan baik.


Terima kasih, bekerja untukku! PS: jasdeep.ca
10

Doh, ya, saya telah lalai menginstal alat baris perintah XCode pada instalasi Mavericks saya yang bersih.
superluminary

20

Saya menemukan log ini 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 mengatasi masalah ini saya menginstal apple-gcc42 menggunakan homebrew brew install apple-gcc42dan 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


ini tidak menyelesaikan masalah bagi saya, saya masih memiliki pesan kesalahan yang sama :(
David Portabella

1
Saya benar-benar menghapus rvm dan ruby ​​(dari minuman), menginstal lagi, dan berhasil.
David Portabella

3
Jadi, saya lari saja brew install apple-gcc42.. dan terus bekerja. Perintah itu tidak berhasil untukmu?
squiter

4
Saya berlari xcode-select --installsebelum pemasangan bir dan semua berfungsi sekarang.
Quickredfox

1
@LucyBain Saya benar-benar tidak ingat .... tapi saya pikir file log itu ada di direktori yang sama dengan gem_meake.out ...
squiter

15

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

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

untuk menyiapkan mesin Anda agar menggunakan alat baris perintah Xcode 5.0.X, lalu jalankan

gem install nokogiri

Jika Anda ingin mengatur ulang alat baris perintah Anda ke versi Xcode.app setelah itu jalankan

sudo xcode-select -r

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

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

12

Inilah yang berhasil untuk saya di 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

luar biasa ini adalah satu-satunya hal di seluruh tapak ini yang juga membantu saya. Terima kasih!
KonstantinK

Masalahnya adalah, menggunakan sudodengan 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 menggunakan sudoakan 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.
Manusia Timah

10

Saya menggunakan OSX Mavericks dan masalah saya ternyata adalah pemasangan Ruby yang buruk.

Jadi, saya menginstal 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 bisa

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

Masalah terpecahkan.


Keren. Sekarang Anda menggunakan rvm pada mavericks coba buka vim. Kesalahan SEGV? Menyenangkan.
Tim

Saya tidak dapat menghapus gemset karena folder tidak kosong, tetapi menginstal ulang gemset (meskipun ada kesalahan) berhasil! Ini adalah satu-satunya hal yang berhasil untuk saya!
Onikoroshi

9

Saya suka tetap menggunakan hal-hal yang disediakan sistem biasanya. Ini berhasil 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/

setelah googling selama berjam-jam, itulah satu-satunya solusi yang berhasil untuk saya, terima kasih! : D
Rogerio Chaves

5

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.


3

Saya mengalami masalah ini hari ini, di Maverick, beginilah akhirnya saya menyelesaikan masalah:

brew update
brew install libiconv
brew link libiconv

Pastikan Anda mengetahui versi libiconv di Cellar tambang di bawah ini adalah 1.14, lalu instal seperti di bawah ini:

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

Jika Anda memerlukan versi nokogiri tertentu misalnya -v '1.6.2.1' kemudian instal sebagai:

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

Nokogiri berhasil diinstal!


Bekerja untuk saya di Yosemite juga. Tak satu pun dari jawaban di atas bisa.
MattL

3

Ini sama dengan postingan @ thomas_witt tetapi berfungsi di 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

2

Agar penginstalan berfungsi, saya harus memodifikasi jalur file di gem installperintah 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:

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 harus sangat teliti dengan filepaths. Saya butuh beberapa kali percobaan untuk membuat perintah dengan benar.
darkmoves

Berikut tautan ke solusi lain untuk masalah versi libxml yang salah.
darkmoves

2

Untuk orang yang menggunakan MacPorts , pastikan Anda telah menginstal libxml2melalui MacPorts. Lalu ketik:

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

Ini harus melakukan trik, berhasil untuk saya tanpa menggunakan jalur lengkap.



2

Berikut 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]

Saya mendapat kesalahan saat menginstal 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 pengembangan terlebih dahulu.

maka mungkin perlu:

$ xcode-select --install

atau jika Anda mendapat kesalahan seperti

checking for libxml/parser.h... no

Saya hanya memperbaiki jalur lib dengan:

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 bundel membutuhkan 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

2

Ini berhasil untuk saya

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

Jalankan saja di bawah dua perintah

$ xcode-select --install

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

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

Ini bekerja untuk saya dengan lingkungan di atas.


1

Saya mengalami masalah yang sama untuk Mavrick, dan solusinya adalah:

xcode-select --install

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.


Saya tidak memiliki akun berbayar dan saya telah menginstal alat baris perintah. Saya menginstal menggunakan terminal, tetapi teman saya menginstal menggunakan halaman unduhan itu, dan dia juga tidak memiliki akun berbayar.
squiter

Saya setuju denganmu. Hal yang sama terjadi dengan saya hingga 24 November 2013. Namun jika Anda membuka halaman itu sekarang dan mencoba mengaksesnya, itu akan memberi Anda kesalahan ini. Hal yang aneh adalah Anda masuk dengan kredensial Anda tetapi itu akan membuat Anda tetap masuk sebagai tamu. Ini adalah pesan yang saya dapatkan pada halaman dengan akun saya: Program Pengembang Apple Peringatan Besar Kami tidak dapat memproses permintaan Anda. Silakan kembali ke halaman sebelumnya, atau keluar dari browser Anda dan coba permintaan Anda lagi. Jika Anda memerlukan bantuan, silakan hubungi Dukungan Pengembang Apple.
rahasia bersinar

1

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 libxml2kesalahannya menjadi jelas.

Hal yang dipelajari: spasi dalam nama file itu jahat.


1

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.


1

Pesan kesalahan memberi petunjuk di sini: The compiler failed to generate an executable file. (RuntimeError)

xcode-select --install # not sure if this is required  
brew install apple-gcc42  
gem install nokogiri  

Anda juga mungkin perlu menginstal dan menautkan ini:

libxml2 libxslt

1
brew install libxml2 libxslt
gem install nokogiri -- \
    --with-xml2-include=/usr/local/Cellar/libxml2/*/include/libxml2 \
    --with-xml2-lib=/usr/local/Cellar/libxml2/*/lib \
    --with-xslt-dir=/usr/local/Cellar/libxslt/*

1

Bagi saya kesalahannya adalah bahwa gcc (4.2.1, diinstal dari Homebrew) mengeluh bahwa:

-E, -S, -save-temps and -M options are not allowed with multiple -arch flags

Saya menyelesaikan masalah dengan memaksa hanya x86_64:

ARCHFLAGS="-arch x86_64" gem install nokogiri 

1

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 installsegera menginstal Nokogiri.


1

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

Pastikan alat baris perintah xcode diinstal dan jalankan 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

1

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

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 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

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 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.


1

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:

xcode-select --install
gem install nokogiri

Semoga membantu.


5
Silakan posting barang-barang di sini - tautan kemungkinan besar akan rusak (lihat pedoman)
Justin

Itu membantu saya, meskipun saya menggemakan sentimen memposting jawabannya di sini, daripada di tautan :)
Richard

Inilah yang dianggap sebagai jawaban hanya Tautan yang tidak disarankan di Stack Overflow. Daripada hanya memposting link ke situs Anda sendiri, rangkum juga informasi penting dalam jawaban Anda. Dengan begitu, jika tautan membusuk, seperti yang cenderung terjadi, jawabannya akan terus memberikan nilai.
Tin Man

0

Saya mengalami masalah ini juga. Berjalan brew doctormenunjukkan bahwa saya memiliki versi libiconv yang tidak terduga di / user / local / lib.

Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected dylibs:
    /usr/local/lib/libcharset.1.dylib
    /usr/local/lib/libiconv.2.dylib

Jadi saya menghapusnya, dan mengubah nama libxml:

rm  /usr/local/lib/libiconv*
andromeda:nokogiri-1.6.0 Jeff$ brew install libxml2 libxslt
...
==> Summary
🍺  /usr/local/Cellar/libxslt/1.1.28: 145 files, 3.3M, built in 36 seconds

Akhirnya saya instal nokogiri:

Jeff$ gem install nokogiri
Building native extensions.  This could take a while...
Successfully installed nokogiri-1.6.0
1 gem installed

saya memiliki masalah serupa (libiconv tidak tertaut). Saya memutuskan tautan libiconv, dan menginstal ulang. buat instal libiconv, lalu gem instal nokogirl.
Ben

0

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.

brew install ruby193
sudo gem install nokogiri -v '1.6.0'
bundle install

Menggunakan sudoakan 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. Menggunakan sudomungkin 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 .
Manusia Timah

0

untuk windows Anda juga dapat mencoba instalasi lokal:

  1. unduh permata yang sesuai berdasarkan lingkungan Anda.

  2. buka direktori tempat Anda menyimpan file permata.

  3. 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.


0

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):

gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/usr/include/libxml2

Semoga berhasil. Hore untuk #yakshaving!


-3

Periksa versi alat Commandline Anda. Siapkan mesin Anda untuk menggunakan alat baris perintah Xcode 5.0.X, lalu jalankan:

gem install nokogiri

Anda harus menggunakan perintah ini. terminal terbuka. dan Tulis perintah ini. ekspor NOKOGIRI_USE_SYSTEM_LIBRARY = true
Durul Dalkanat
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.