dari extconf.rb:161:di
block in process_recipe'
from extconf.rb:154:in
tap'dari extconf.rb:154:di
process_recipe'
from extconf.rb:423:in
Kami menjalankan Ruby 1.8.7 (melalui RVM) di OS X 10.6.6. Mencoba menginstal nokogiri 1.4.4 menggunakan bundler selalu menghasilkan kesalahan berikut:
Installing nokogiri (1.4.4) with native extensions /Users/administrator/.rvm/rubies/ruby-1.8.7-p302/lib/ruby/site_ruby/1.8/rubygems/installer.rb:533:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/Users/administrator/.rvm/rubies/ruby-1.8.7-p302/bin/ruby extconf.rb
checking for libxml/parser.h... yes
checking for libxslt/xslt.h... yes
checking for libexslt/exslt.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
-----
libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----
*** extconf.rb failed ***
[…]
Mengikuti instruksi di sini di wiki dan juga di internet, kami telah menggunakan MacPorts untuk menginstal libxml2
dan libxslt
, yang menghasilkan situasi berikut:
sudo port install libxml2 libxslt
Password:
Error: Cannot install libxml2 for the arch(s) 'x86_64' because
Error: its dependency libiconv is only installed for the archs 'i386 ppc'.
Error: Unable to execute port: architecture mismatch
Kami telah membangun libxml2
dan libxslt
dari sumber dan mencoba keduanya untuk menginstal permata dengan bendera untuk MacPorts dan membangun seperti yang dijelaskan di wiki serta beberapa variasi yang ditemukan online. - Hasilnya tetap sama. Kami bahkan telah mengunduh permata, mengubah extconf.rb
seperti yang disarankan di sini: https://github.com/tenderlove/nokogiri/issues#issue/381 , dan mengompilasinya secara lokal tetapi hasil akhirnya sama.
Apa yang kita lewatkan? Kami cukup banyak terjebak dengan situasi ini.
Saya mengajukan pertanyaan yang sama, dan diberi jawaban ini:
Instal MacPorts: http://www.macports.org
Tambahkan /opt/local/bin ke PATH Anda (bashrc atau zshrc atau apa pun yang Anda gunakan).
port sudo instal libxml2 dan port sudo instal libxslt
Kemudian Sudo gem install nokogiri --no-rdoc --no-ri akan berjalan tanpa masalah. Itu saja yang harus saya lakukan untuk sistem Ruby (1.8.7 pada OSX 10.6) dan 1.9.2 melalui rvm.
Saya mengalami masalah yang sama pada 10.6. Saya menginstal ulang MacPorts, port menginstal libxml2 dan libxslt lagi dan sekarang saya tidak lagi mengalami masalah ini.
Dengan asumsi Anda menginstal libxml2 dan libxslt dengan MacPorts, maka Anda mungkin masih mendapatkan kesalahan ini karena ketidakcocokan urutan sertakan jalur dan jalur tautan yang digunakan oleh panggilan ke have_func('iconv_open', 'iconv.h')
Solusi (tambalan) sederhana: hapus libiconv.* di /usr/local/lib
Saran: minta extconf.rb melakukan pemeriksaan yang sedikit lebih canggih tentang lib iconv apa yang sebenarnya diinstal, dan berikan petunjuk yang lebih baik kepada pengguna. Dalam hal ini libiconv TIDAK hilang. Sebenarnya ada DUA libiconvs, tajuk yang benar sedang dikompilasi, dan perpustakaan lama sedang ditautkan. Sepertinya masalah yang sangat umum bahwa pesan kesalahan file instal dapat memberikan sedikit lebih banyak bantuan.
Dan saya pikir ini mungkin masalah dengan mkmf dan cara menangani jalur perpustakaan? Pemeriksaan kompilasi yang gagal untuk saya adalah:
```"gcc -o conftest -I. -I/usr/local/lib/ruby/1.8/i686-darwin10.3.0 -I. -III/opt/local/include -III/usr/local/include -III /usr/local/include -III/usr/include -III/usr/include/libxml2 -I/opt/local/include/libxml2 -I/usr/local/include/libxml2 -I/usr/local/include/libxml2 -II/opt/local/include -II/usr/local/include -II/usr/local/include -II/usr/include -II/usr/include/libxml2 -I/opt/local/include -I/usr /local/include -I/usr/local/include -I/usr/include -I/usr/include/libxml2 -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_XOPEN_SOURCE=1 -fno-common -pipe -fno-common -g -DXP_UNIX -O3 -Wall -Wcast-qual -Wwrite-strings -Wconversion -Wmissing-noreturn -Winline conftest.c -L. -L/usr/local/lib -L/opt/local/lib -L/usr/local/lib -L /usr/lib -L. -lruby-static -lpthread -ldl -lobjc "
Simbol yang tidak ditentukan untuk arsitektur x86_64:
"_libiconv_open", dirujuk dari:
Note the compile stage starts with /opt/local/include, but the link stage starts with /usr/local/lib, which is where the old version was
Saya menggunakan Lion dan homebrew. Bagi saya, ini berhasil:
brew install libiconv
brew link libiconv
Dalam kasus saya (Migrasi ke OS X Lion), untuk memperbaiki masalah, saya membersihkan macports :
port -qv installed > myports.txt
sudo port -fp uninstall --follow-dependents installed
sudo port clean all
Lebih detail: http://trac.macports.org/wiki/Migration
+1 untuk apa yang dikatakan jfahrenkrug. Panduan instalasi di http://nokogiri.org/tutorials/installing_nokogiri.html , bagian homebrew mungkin harus diperbarui;
brew install libxml2 libxslt
membuat tautan libxml2 libxslt
ke
brew install libxml2 libxslt libiconv
brew link libxml2 libxslt libiconv
perbaikan jfahrenkrug juga berhasil untuk saya
+1 berfungsi untuk saya
Saya telah mengikuti instruksi untuk membangun libxml2 dan libxslt dari brew. Saya tidak bisa membangun nokogiri.
Saya mendapatkan kesalahan saat mencoba 'brew install libiconv':
$ brew install libiconv
Kesalahan: Tidak ada rumus yang tersedia untuk libiconv
Apple mendistribusikan libiconv dengan OS X, Anda dapat menemukannya di /usr/lib.
Beberapa skrip build gagal mendeteksinya dengan benar, harap periksa yang ada
formula untuk solusi.
Saya sedang menginstal Snow Leopard baru. Saya lebih suka tidak menggunakan MacPorts.
Tolong bantu.
@jseigler Saya menjalankan brew 0.8.1 dan saya dapat menginstal libiconv tanpa masalah. Coba perbarui minuman?
Saya memiliki masalah yang sama dengan @jseigler. Saya menjalankan brew 0.9 di OS X 10.7.3.
Mengunduh libiconv dan kompilasi berfungsi secara manual.
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
Jika Anda mengetahui cara menginstal Nokogiri terhadap perpustakaan brew 0.9, beri tahu saya -- Saya akan memperbarui dokumentasi instalasi. Sementara itu, sebagai pengguna Linux, saya khawatir saya tidak bisa banyak membantu.
@tenderlove , ada ide? Anda <3 mac. :) :) :)
Menggunakan brew 0.9 pada OSX 10.7.3 yang berikut ini berhasil:
brew install libxml2 libxslt
membuat tautan libxml2 libxslt
Instal libiconv dari sumber:
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
membuat
sudo make install
Kemudian instal nokogiri:
permata instal nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/ lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib =/usr/local/Cellar/libiconv/1.13.1/lib
@brennenf
Kerja bagus. Itu juga untuk saya.
Instruksi diposting ke nokogiri.org:
http://nokogiri.org/tutorials/installing_nokogiri.html#homebrew_09
Terimakasih semuanya.
@brennenf Terima kasih untuk baris ini
permata instal nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/ lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib =/usr/local/Cellar/libiconv/1.13.1/lib
@brennenf perbaikan Anda memberi saya "Berhasil menginstal nokogiri-1.5.2" yang bagus tetapi ketika saya menjalankan bundle install di aplikasi Rails saya, itu masih gagal pada: "Terjadi kesalahan saat menginstal nokogiri (1.5.2), dan Bundler tidak dapat melanjutkan.
Pastikan gem install nokogiri -v '1.5.2'
berhasil sebelum bundling." Catatan "gem install nokogiri -v '1.5.2" juga gagal. Adakah orang lain yang menjalankan ini?
@ttringas - silakan kirim email ke nokogiri-talk. masalah ini tentang nokogiri 1.4.4 dan telah ditutup selama berbulan-bulan.
Hai, ada pembaruan tentang Mountain Lion?
Saya tidak bisa menyelesaikan instalasi.
Saya telah memperbarui jalur yang disebutkan di halaman instalasi nokogiri:
gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.13.1/lib
inilah yang saya dapatkan sebagai balasannya: https://Gist.github.com/3186643
@polarblau lihat siapa yang punya masalah sekarang :D (saya)
Mungkin membantu tetapi tampaknya "ekosistem" RVM tampak bermasalah setelah memperbarui ke singa gunung. Saya menghapus .rvm dan menginstal rvm menggunakan http://unfiniti.com/software/mac/jewelrybox/ dan sekarang berfungsi tetapi saya memiliki peringatan yang mengatakan:
WARNING: Nokogiri was built against LibXML version 2.8.0, but has dynamically loaded 2.7.8
Sama di sini, menginstal ulang Ruby berhasil (saya tidak terlalu terkejut - itu jebakan yang cukup umum)
@pietia ;) dkk. Beberapa ide di SO, FYI — http://stackoverflow.com/questions/5528839/installing-nokogiri-fails-libiconv-missing .
@polarblau , terlambat! aku udah baca ;)
Agar instalasi bekerja pada Mountain Lion yang baru saya upgrade, saya harus menghapus paket rvm yang saya instal sebelumnya (terletak di $rvm_path/usr), membangun kembali Ruby 1.9.3, dan kemudian gem install nokogiri berhasil. Lihat https://rvm.io/packages/
Saya di Gunung Singa. Menginstal ulang Ruby berhasil untuk saya.
libxml2 hilang.
Saya menemukan satu langkah tambahan diperlukan untuk menyelesaikan masalah di atas untuk Homebrew 0.9 di Mac OS X 10.8 Mountain Lion dan itu adalah membuat tautan "/usr/bin/gcc-4.2":
brew install libxml2 libxslt
membuat tautan libxml2 libxslt
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/Cellar/libiconv/1.13.1
membuat
sudo make install
sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
permata instal nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/ lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-include=/usr/local/Cellar/libiconv/1.13.1/include --with-iconv-lib =/usr/local/Cellar/libiconv/1.13.1/lib
brax4444 terima kasih banyak, Anda adalah penyelamat hidup!! Bekerja sempurna dengan penambahan sudo pada perintah terakhir Anda karena kesalahan:
GALAT: Saat menjalankan permata ... (Errno::EPERM)
Operasi tidak diizinkan - ~/.rvm/gems/ruby-1.9.3-p194/gems/nokogiri-1.5.5/.autotest
brax4444 adalah orangnya! Terima kasih
Ingin tahu apakah seseorang dapat membantu seorang pemula:
Menjalankan Mountain Lion 10.8.2 dengan Homebrew.
Dimulai dengan nokogiri 1.5.2 - kehilangan libiconv yang khas.
Di antara utas ini, khususnya Brax4444 & tutorial instalasi di nokogiri: http://nokogiri.org/tutorials/installing_nokogiri.html untuk Homebrew .9 Saya memiliki FUBAR berikut:
Saya sekarang memiliki nokogiri 1.5.5 di mana rel mencari 1.5.2
Masih tidak dapat memperbaiki masalah libiconv meskipun berjam-jam.
Tidak dapat lagi menjalankan perintah Rails karena permata yang hilang > nokogiri : 1.5.2
Coba instal permata (yang akan menjadi 1.5.5) atau rails baru (saya mencoba apa saja pada saat ini ... kembali dengan kesalahan berikut sekarang: ERROR: Saat menjalankan permata ... (Errno::EPERM)
Operasi tidak diizinkan - /usr/local/rvm/gems/ruby-1.9.3-p194/gems/nokogiri-1.5.5/.autotest
Adakah yang bisa menyelamatkanku? Saya harus menyerahkan aplikasi besok.
Halo!
Terima kasih telah mengajukan pertanyaan ini! Permintaan bantuan Anda menggunakan Nokogiri tidak akan terjawab!
Namun, masalah ini telah ditutup, dan Masalah Github Nokogiri dicadangkan untuk melaporkan bug atau mengirimkan tambalan. Jika Anda mengajukan pertanyaan Anda di milis, Tim Nokogiri berjanji seseorang akan memberi Anda jawaban tepat waktu.
Jika Anda ingin membaca alasan Tim Nokogiri atas kebijakan ini, silakan kunjungi http://bit.ly/nokohelp.
Terima kasih banyak atas pengertiannya! Dan terima kasih telah menggunakan Nokogiri.
brax4444, terima kasih banyak, langkah Anda membantu saya mengatasi masalah serupa saat menginstal permata pg.
Petunjuk pada halaman http://nokogiri.org/tutorials/installing_nokogiri.html sekarang sudah kedaluwarsa karena bundel menginstal versi yang lebih baru (saat ini libxml2 di 2.9.0 dan libxslt di 1.1.28).
@Winstons
Terima kasih atas komentar Anda, tetapi masalah ini telah ditutup cukup lama sekarang.
Jika Anda memiliki pembaruan untuk dokumen instalasi nokogiri, Anda dapat mengirim permintaan tarik ke:
https://github.com/sparklemotion/nokogiri.org-tutorials
atau Anda dapat lebih jelas menyatakan masalah dan solusi (bundler tidak menginstal libxml2 atau libxslt ... maksud Anda brew? atau port mac? atau ... ?) dalam edisi baru dan kami akan mengatasinya saat kami bisa konfirmasi secara independen.
Terima kasih telah menggunakan Nokogiri!
@flavorjones Maaf! Aku akan membayar.
Terima kasih telah menulis bersama Nokogiri.
Saya juga harus benar-benar menginstal XCode agar ini berfungsi.
Saya perlu menginstal alat pengembang baris perintah.
@dentarg Terima kasih, saya memiliki masalah yang sama, setelah memulihkan Mac saya, alat pengembang baris perintah tidak diinstal.
Lakukan dengan perintah ini 'xcode-select --install'
gunakan https://github.com/Homebrew/homebrew-dupes/blob/master/libiconv.rb
brew tab homebrew/dupes
brew install libiconv
dan mungkin ini:
bundel config build.nokogiri --use-system-libraries
tapi tidak tahu apakah ini berhasil
Terima kasih @brax4444 , saran Anda juga berhasil untuk saya!
Saya menggunakan iconv asli. Anda tidak perlu menautkan libxml2/libxslt.
brew install libxml2 libxslt
gem install nokogiri -- \
--with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib \
--with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 \
--with-iconv-lib=/usr/lib \
--with-iconv-include=/usr/local/include
Terima kasih @patricksereno.
bundel config build.nokogiri --use-system-libraries
ini berhasil untuk saya
Terima kasih, brax4444! Satu baris itu (tautan gcc) melakukannya untuk saya juga!
LIHAT INSTRUKSI YANG DIPERBARUI: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550
CATATAN: jika Anda melalui semua posting ini satu per satu mencoba semuanya maka ANDA MELAKUKANNYA SALAH. Semua saran untuk 'brew link' (termasuk posting tersebut) adalah saran yang buruk. Semua saran untuk "--gunakan-sistem-perpustakaan" juga merupakan saran yang buruk. STAAAHHHP. Lewati sampai akhir.
saya percaya ini berhasil untuk saya:
brew tap homebrew/dupes
brew install libiconv
brew link libiconv --force
gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local
Poin penting di sini adalah bahwa libiconv perlu 'dihubungkan' ke /usr/local/include. Dengan ketukan 'penipu', itu akan merepotkan tentang mengganti lib sistem sehingga Anda perlu --force
itu. Maka Anda hanya perlu memberi tahu nokogiri untuk mencari /usr/local
untuk mencari jalur iconv untuk diteruskan ke libxml2 yang disematkan saat membangunnya. Dengan menggunakan --use-system-libraries
apa yang dilakukan orang adalah mengabaikan kebutuhan untuk menemukan perpustakaan ini untuk meneruskannya ke build libxml2 internal.
Salah satu cara untuk memperbaikinya adalah dengan membuat homebrew menambahkan konfigurasi pkg-config untuk libiconv, karena itu nokogiri extconf.rb akan dapat menemukannya.
Cara lain adalah dengan membuat hardcode /usr/local/include
sebagai jalur pencarian di sini:
Saya sudah mencoba mencari cara untuk mengekstrak /usr/local/include dari jalur di mkmf Ruby dan bercinta jika saya bisa mengetahui cara melakukannya. Lapisan tipuan di mkmf terlalu dalam. Metode find_header() di mkmf pasti dapat menemukan iconv.h, tetapi saya tidak tahu bagaimana mengekstrak informasi tentang jalur yang menemukannya. Itu sebenarnya akan menjadi perbaikan yang benar untuk nokogiri untuk menemukan file header di dengan cara yang sama seperti mkmf dapat menemukan file header.
Tampaknya fakta bahwa nokogiri tidak dapat menemukan file header sederhana di /usr/local/include tanpa persyaratan untuk pkg-config eksternal rusak. Saya dapat melihat betapa sulitnya mengkodekan jalurnya, tetapi saya tidak tahu bagaimana cara bertanya kepada mkmf direktori mana yang find_header menemukan header di ...
Sepertinya juga ada bug di sini di mana dir_config() dapat mengembalikan larik ':'-jalur yang dipisahkan alih-alih larik dua jalur, tetapi tampaknya tidak ada hubungannya dengan memperbaiki masalah ini:
@lamont-granquist instruksi bagus, bahkan lebih baik jika Anda mengubah tab untuk mengetuk :-)
@ericbrooke lol, saya menyalinnya dari poster sebelumnya... diperbaiki sekarang...
Saya pikir saya mencoba setiap perintah yang disebutkan dalam posting ini dan masih mengalami ini:
sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-lib=/usr/lib --with-iconv-include=/usr/local/include/
Building native extensions with: '--with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-lib=/usr/lib --with-iconv-include=/usr/local/include/'
This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-xml2-include=/usr/local/Cellar/libxml2/2.8.0/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.8.0/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26 --with-iconv-lib=/usr/lib --with-iconv-include=/usr/local/include/
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
-----
libiconv is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
Saya tidak tahu mengapa iconv.h
ditemukan, tetapi iconv_open()
tidak (didefinisikan dalam file itu). Saya melihat bahwa seseorang mengalami masalah yang persis sama baru-baru ini - http://stackoverflow.com/questions/24735534/nokogiri-install-fails-iconv-doesnt-work-osx
Apakah ada yang melihat masalah ini?
LIHAT INSTRUKSI YANG DIPERBARUI: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550
@Reinmar dapatkah Anda mencoba apa yang saya sarankan. Khususnya:
brew link libiconv --force
dan kemudian memvalidasi bahwa ls -la /usr/local/include/iconv.h
adals -la /usr/local/lib/libiconv.dylib
adagem install nokogiri -- --with-iconv-dir=/usr/local
Semua jalur yang Anda gunakan ke direktori berversi jauh di dalam 'Cellar' homebrew agak buruk dan rapuh dan saya tidak terlalu terkejut itu tidak berfungsi dengan benar.
Saya menggunakan instruksi ini http://nokogiri.org/tutorials/installing_nokogiri.html sehingga jalurnya serupa (versi berbeda).
piotrus<strong i="7">@macus</strong> ~> brew link libiconv --force
Warning: Already linked: /usr/local/Cellar/libiconv/1.14
To relink: brew unlink libiconv && brew link libiconv
piotrus<strong i="8">@macus</strong> ~> ls -la /usr/local/include/iconv.h
lrwxr-xr-x 1 piotrus admin 39 Jul 29 19:47 /usr/local/include/iconv.h -> ../Cellar/libiconv/1.14/include/iconv.h
piotrus<strong i="9">@macus</strong> ~> ls -la /usr/local/lib/libiconv.dylib
lrwxr-xr-x 1 piotrus admin 42 Jul 29 19:47 /usr/local/lib/libiconv.dylib -> ../Cellar/libiconv/1.14/lib/libiconv.dylib
piotrus<strong i="10">@macus</strong> ~> gem install nokogiri -- --with-iconv-dir=/usr/local
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
piotrus<strong i="11">@macus</strong> ~> sudo gem install nokogiri -- --with-iconv-dir=/usr/local
Password:
Building native extensions with: '--with-iconv-dir=/usr/local'
This could take a while...
Building nokogiri using packaged libraries.
ERROR: Error installing nokogiri:
ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb --with-iconv-dir=/usr/local
Building nokogiri using packaged libraries.
checking for iconv.h... yes
checking for iconv_open() in iconv.h... no
checking for iconv_open() in -liconv... no
checking for libiconv_open() in iconv.h... no
checking for libiconv_open() in -liconv... no
Mungkin saya akan mencoba memperbarui Ruby/gem... :| Padahal itu tebakan buta.
Oke... Memperbarui gem
tidak membantu. Kemudian, setelah menginstal rvm (tetapi sebelum saya memperbarui Ruby dari 2.0.0 ke 2.1.*), saya memutuskan untuk me-restart terminal dan secara keliru saya beralih dari iterm
ke terminal standar dan... menginstal nokogiri bekerja dengan perintah yang sama yang tidak bekerja sebelumnya. Jadi saya harus me-restart terminal (meskipun saya menggunakan banyak tab di iterm sebelumnya) atau ada masalah yang disebabkan oleh xterm. Tidak tahu, tapi mungkin itu akan membantu seseorang.
selain jawaban @lamont-granquist, Anda dapat melewati pemasangan permata jika Anda menggunakan bundel dan menjalankan:
bundle config build.nokogiri --use-system-libraries
bundle install
Setelah mengikuti instruksi @lamont-granquist:
brew tap homebrew/dupes
brew install libiconv
brew link libiconv --force
gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local
Dan mengalami masalah yang sama dengan @Reinmar , saya menemukan saran di StackOverflow , dan menggabungkannya dengan saran lain di sekitar sini, menghasilkan:
NOKOGIRI_USE_SYSTEM_LIBRARIES=1 sudo gem install nokogiri -- --use-system-libraries --with-iconv-dir="$(brew --prefix libiconv)" --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2
Itu akhirnya berhasil untuk saya, semoga itu akan membantu Anda @Reinmar . Mengapa ini berhasil di luar jangkauan saya, _[ komentar tertahan tentang ekosistem tertutup Apple di sini]_. Terima kasih semua untuk berbagi metode Anda.
Saya harus merobek minuman rumahan dan semua minuman menginstalnya kembali dari awal dan kemudian berhasil
@doublerebel saya pikir Anda mungkin perlu menginstal ulang xcode dan/atau menggunakan xcode-select. apa yang Anda lakukan adalah segala macam bingung pula ...
Tampaknya dengan versi homebrew saat ini, saya dapat puas dengan versi yang sedikit disederhanakan dari apa yang dibuat oleh @lamont-granquist:
brew tap homebrew/dupes
brew install libiconv
gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local/opt/libiconv
Tidak brew link --force libiconv
...
itu masuk akal @jacobvosmaer , dokumen mungkin harus diperbarui untuk menggunakannya.
(mungkin jatuhkan -v 1.6.3.1, meskipun)
saya akan memperbarui dokumen tetapi saya terganggu sekarang dengan pengkodean lain ...
Setelah seharian mengerjakan masalah ini, perlu disebutkan bahwa solusi @doublerebel di atas adalah hal pertama yang berhasil
LIHAT INSTRUKSI YANG DIPERBARUI: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550
ini mungkin membantu bagi pengguna dengan Xcode 5.1.1:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
LIHAT INSTRUKSI YANG DIPERBARUI: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53793550
Juga, saya sarankan memastikan bahwa Xcode 5.1.1 diinstal (dan/atau menginstal ulang) dan kemudian menginstal ulang "Alat Baris Perintah untuk Xcode" di sini: https://developer.apple.com/downloads/
Kemudian lakukan:
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
brew tap homebrew/dupes
brew uninstall libiconv
brew install libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
Pembaruan dan pemulihan Mac OSX tampaknya membuang Xcode dan homebrew karena beberapa alasan. Saya juga suka mengarahkannya ke /usr/local/opt/libiconv lebih baik daripada memaksa menghubungkannya ke /usr/local/include.
@lamont-granquist Terima kasih atas solusi Anda. Saya menerapkan setiap satu dan satu Anda adalah hal yang akhirnya bekerja untuk saya.
Menjalankan 'brew uninstall libxml2 libxslt' dan kemudian 'Sudo gem install nokogiri' memperbaikinya untuk saya
Saat menggunakan RVM dan membuat set permata baru, saya harus melakukan hal berikut:
brew uninstall libiconv
brew install libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
@lamont-granquist Terima kasih banyak untuk perbaikannya. Bekerja untuk saya.
@lamont-granquist @ericbrooke terima kasih. yang membunuhnya.
EDIT: BAHKAN INSTRUKSI SEDERHANA: https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -54091434
Jadi gabungkan bit bagus dari pertanyaan stackoverflow pada jawaban ini:
Jalankan ini untuk menginstal Alat Baris Perintah Xcode dan Xcode terbaru (pilih 'Dapatkan Xcode' dari kotak dialog):
sudo xcode-select --install
Kemudian perbarui libiconv di homebrew:
brew tap homebrew/dupes
brew update
brew uninstall libiconv
brew install libiconv
Lakukan instalasi nokogiri:
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
Itu harus bekerja untuk semua orang di 10.9 + homebrew
akan menyukai beberapa umpan balik tentang ^^^ itu
bekerja untuk saya, terima kasih!
-Chris
Pada Kam, 28 Agustus 2014 jam 16:40, lamont-granquist [email protected]
menulis:
akan menyukai beberapa umpan balik tentang ^^^ itu
—
Balas email ini secara langsung atau lihat di GitHub
https://github.com/sparklemotion/nokogiri/issues/442#issuecomment -53794057
.
Karena penasaran, untuk apa brew uninstall libiconv
itu? Apakah ini menyiratkan bahwa Anda sudah menginstal libiconv?
@knu ya itu menyiratkan bahwa Anda menggunakan Mac OsX dan telah menginstal libiconv melalui Homebrew dan bukan MacPorts. Keduanya adalah Manajer Paket. Jika Anda tidak yakin apakah brew diinstal, ketik saja brew di terminal, jika Anda mendapatkan respons ini:
Example usage:
brew [info | home | options ] [FORMULA...]
brew install FORMULA...
brew uninstall FORMULA...
brew search [foo]
brew list [FORMULA...]
brew update
brew upgrade [FORMULA...]
brew pin/unpin [FORMULA...]
Troubleshooting:
brew doctor
brew install -vd FORMULA
brew [--env | config]
Brewing:
brew create [URL [--no-fetch]]
brew edit [FORMULA...]
open https://github.com/Homebrew/homebrew/wiki/Formula-Cookbook
Further help:
man brew
brew home
Anda tahu bahwa homebrew diinstal.
brew list
akan menampilkan semua paket yang telah Anda instal termasuk libiconv
@ericbrooke Maksud saya, saya tidak melihat gunanya melakukan brew uninstall libiconv
tepat setelah brew tap homebrew/dupes
ketika libiconv hanya akan ditemukan setelah mengetuk penipuan karena itu tidak ada dalam repo standar. Apakah ada untuk berjaga-jaga, seperti ketika instalasi homebrew Anda entah bagaimana rusak?
Juga, seperti yang Anda ketahui dari kehadiran libiconv di "dupes", iconv adalah bagian dari OS X+Xcode yang tidak perlu Anda tambahkan melalui brew.
Saya tidak menggunakan Homebrew, tetapi Homebrew tidak boleh menyentuh apa pun di bawah /usr/{include,lib}, bukan? Atau apakah menginstal ulang libiconv melalui brew merupakan upaya untuk memulihkan yang rusak?
Pada MacBook Pro baru dengan vanilla Mountain Lion+Xcode+Command Line Tools diinstal, saya melihat /usr/include/iconv.h dan /usr/lib/libconv.so di sana, jadi saya bertanya-tanya apa penyebab kurangnya itu file bisa.
@lamont-granquist terima kasih.
Saya melakukan apa yang telah Anda daftarkan. Saya mengalami masalah izin pada:
Anda tidak memiliki izin menulis untuk direktori /Library/Ruby/Gems/2.0.0.
Rupanya saya perlu memperbaiki rvm saya dan setelah mengikuti langkah itu terinstal dan melanjutkan proses instal bundel saya.
rvm menginstal 2.1.2
penggunaan rvm 2.1.2
pembaruan permata --sistem
@knu ya setiap kali saya memutakhirkan O/S atau memulihkan dari mesin waktu, sepertinya sampah homebrew dan saya harus menginstal ulang semuanya. instruksi-instruksi itu se-pesimis mungkin. jika seseorang memiliki instalasi xcode bersih yang waras dan libiconv diinstal dengan benar di homebrew maka perintah instal permata terakhir adalah yang dibutuhkan.
Jadi, ternyata /usr/local/include/iconv.h akan #mendefinisikan iconv_open ke libiconv_open dan untuk beberapa alasan dentang mengambil file header homebrew di /usr/local/include melalui /usr/include dan kemudian mencoba menautkan terhadap /usr/lib/libiconv.dylib. Caranya adalah dengan menghapus file header iconv.h yang dibuat dengan force linking libiconv.
TL; DR: instruksi sebelumnya tentang cara 'memperbaiki' masalah ini (termasuk masalah saya) memperburuk semuanya.
Jadi, petunjuk terbaru tentang cara memperbaiki instalasi mac Anda:
Pastikan Xcode dan utilitas baris perintah diinstal dengan benar. Ini memperbaiki masalah di mana saya tidak memiliki file header /usr/include/iconv.h. Pilih 'Dapatkan Xcode' dari kotak dialog:
sudo xcode-select --install
Anda mungkin ingin memperbarui homebrew dan libiconv jika sudah ketinggalan zaman (dan seandainya libiconv Anda di homebrew sudah lama diinstal). Ini mungkin sepenuhnya opsional karena kami tidak akan menautkan ke libiconv homebrew sama sekali sekarang:
brew update
brew tap homebrew/dupes
brew uninstall libiconv
brew install libiconv
Jangan tautkan libiconv, jadi itu tidak menimpa sistem libiconv (jika ini memberi Anda 'tidak ada tong seperti itu' tidak apa-apa, kesalahan lain dan Anda mungkin ingin kembali dan memutakhirkan homebrew dan libiconv):
brew unlink libiconv
Membangun nokogiri:
gem install nokogiri
@lamont-granquist Terima kasih banyak!!
@lamont-granquist Entah mengapa, tetapi dalam komentar terakhir Anda, gem install nokogiri
tidak bekerja untuk saya.
Sebagai gantinya, setelah mengikuti semua langkah seperti:
brew update
brew tap homebrew/dupes
brew uninstall libiconv
brew install libiconv
brew unlink libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
bekerja untuk saya.
Saya menggunakan 10.9, dengan rvm, jika ini membantu.
@lamont-granquist Terima kasih atas penyelidikan yang luar biasa! Saya pikir saya akan mencoba mereproduksi masalah dan mencari "perbaikan" untuk ini.
@SeanWangDev di suatu tempat Anda memiliki iconv.h lain yang diambil terlebih dahulu dan digunakan. Mungkin yang MacPorts bukan yang Homebrew.
Ya, saya percaya begitu. Ada satu di
/usr/local/Cellar/libiconv/1.14/include/iconv.h
satu lagi di
/usr/include/iconv.h
Yang terakhir adalah versi sebelumnya.
Terima kasih @lamont-granquist
/usr/include/iconv.h baik-baik saja, itu bagian dari Xcode, yang pertama adalah homebrew yang disembunyikan di 'Cellar' yang juga baik-baik saja. Jika tidak ada apa pun di /opt/local/include atau apa pun, maka dugaan saya adalah /usr/lib/libiconv.dylib entah bagaimana rusak?
@lamont-granquist Ini sedikit di luar kedalaman saya sekarang. Bagaimana kita bisa tahu libiconv.dylib rusak?
Ketika saya melakukan ls -al /usr/lib/libiconv*
, hasilnya adalah ini
xxxx 1 xxx xxx 16 10 5 2013 /usr/lib/libiconv.2.4.0.dylib -> libiconv.2.dylib
xxxx 1 xxx xxx 2088992 10 5 2013 /usr/lib/libiconv.2.dylib
xxxx 1 xxx xxx 20 10 5 2013 /usr/lib/libiconv.dylib -> libiconv.2.4.0.dylib
Ya, itu terlihat bagus, ini milikku:
% ls -al /usr/lib/libiconv*
lrwxr-xr-x 1 root wheel 16 Feb 26 2014 /usr/lib/libiconv.2.4.0.dylib@ -> libiconv.2.dylib
-r-xr-xr-x 1 root wheel 2088992 Feb 26 2014 /usr/lib/libiconv.2.dylib*
lrwxr-xr-x 1 root wheel 20 Feb 26 2014 /usr/lib/libiconv.dylib@ -> libiconv.2.4.0.dylib
Bagaimana dengan /opt/local/lib/libiconv.dylib
atau /opt/local/include/iconv.h
? Salah satu dari itu dapat menyebabkan masalah.
@lamont-granquist
Tidak, saya tidak memiliki direktori /opt/. Apakah ini yang kita cari?
-r--r--r--+ 1 User admin 1052128 9 4 11:30 /usr/local/Cellar/libiconv/1.14/lib/libiconv.2.dylib
-rw-r--r--+ 1 User admin 1658 9 4 11:22 /usr/local/Library/Taps/homebrew/homebrew-dupes/libiconv.rb
-r-xr-xr-x 1 root wheel 2088992 10 5 2013 /usr/lib/libiconv.2.dylib
file iconv.h hanya dua ini:
/usr/local/Cellar/libiconv/1.14/include/iconv.h
/usr/include/iconv.h
Tidak, itu semua keren. Sejauh yang saya lihat, Anda seharusnya dapat 'menginstal permata nokogiri' tanpa argumen lain....
Hanya ingin menambahkan bahwa gem install nokogiri -v 1.6.3.1 -- --with-iconv-dir=/usr/local
bekerja dengan baik untuk saya. Saat menggunakan bundler saya harus melakukan bundle config build.nokogiril --with-iconv-dir=/usr/local
@lamont-granquist Ya, gem install nokogiri
berfungsi dengan baik sekarang. Tapi kondisi ini berbeda. Kali ini nokogiri sudah diinstal sebelumnya oleh 'gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv'. Sebelumnya, ketika saya tidak menginstal nokogiri, 'gem install nokogiri' tidak akan berfungsi.
Apakah mungkin menjalankan 'gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv' mengubah sesuatu file atau menambahkan beberapa file seperti libiconv.dylib
atau iconv.h
?
@SeanWangDev :+1:
OS X 10.9.4 Mavericks.
Teman-teman tolong bantu saya. Saya mencoba setiap cara yang ada di atas. Tak satu pun dari mereka bekerja untuk saya. Saya menumpuk di gem install nokogiri dengan/tanpa argumen, saya masih mendapatkan kesalahan:
$ permata instal nokogiri
Membangun ekstensi asli. Ini bisa memakan waktu cukup lama...
Membangun nokogiri menggunakan perpustakaan yang dikemas.
KESALAHAN: Kesalahan menginstal nokogiri:
GALAT: Gagal membuat ekstensi asli permata.
/usr/local/rvm/rubies/ruby-2.0.0-p353/bin/ruby extconf.rb
Membangun nokogiri menggunakan perpustakaan yang dikemas.
memeriksa iconv.h... * extconf.rb gagal *
Tidak dapat membuat Makefile karena beberapa alasan, mungkin tidak diperlukan
perpustakaan dan/atau header. Periksa file mkmf.log untuk lebih jelasnya. Kamu boleh
membutuhkan opsi konfigurasi.
Opsi konfigurasi yang disediakan:
--with-opt-dir
--tanpa-opt-dir
--with-opt-include
--tanpa-opt-include=${opt-dir}/include
--with-opt-lib
--tanpa-opt-lib=${opt-dir}/lib
--dengan-membuat-prog
--tanpa-membuat-prog
--srcdir=.
--curdir
--ruby=/usr/local/rvm/ruby/ruby-2.0.0-p353/bin/ruby
--Tolong
--membersihkan
--gunakan-sistem-perpustakaan
--aktifkan-statis
--nonaktifkan-statis
--with-zlib-dir
--tanpa-zlib-dir
--with-zlib-include
--tanpa-zlib-include=${zlib-dir}/include
--with-zlib-lib
--tanpa-zlib-lib=${zlib-dir}/lib
--enable-cross-build
--disable-cross-build
/usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:434:in try_do': The compiler failed to generate an executable file. (RuntimeError)
You have to install development tools first.
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:565:in
try_cpp'
dari /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:1044:di block in have_header'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:895:in
blok di check_for'
dari /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:340:in block (2 levels) in postpone'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:310:in
open'
dari /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:340:in block in postpone'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:310:in
open'
dari /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:336:in postpone'
from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:894:in
checking_for'
dari /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/mkmf.rb:1043:in have_header'
from extconf.rb:103:in
have_iconv?'
dari extconf.rb:148:di block (2 levels) in iconv_prefix'
from extconf.rb:90:in
melestarikan_globals'
dari extconf.rb:143:di block in iconv_prefix'
from extconf.rb:120:in
each_iconv_idir'
dari extconf.rb:137:di iconv_prefix'
from extconf.rb:428:in
blok masuk
dari extconf.rb:161:di block in process_recipe'
from extconf.rb:154:in
tap'
dari extconf.rb:154:di process_recipe'
from extconf.rb:423:in
File permata akan tetap terinstal di /usr/local/rvm/gems/ruby-2.0.0-p353/gems/nokogiri-1.6.3.1 untuk diperiksa.
Hasil dicatat ke /usr/local/rvm/gems/ruby-2.0.0-p353/gems/nokogiri-1.6.3.1/ext/nokogiri/gem_make.out
memvalidasi Anda memiliki file-file ini:
% ls -la /usr/include/iconv.h
-rw-r--r-- 1 root wheel 7981 Jul 29 15:32 /usr/include/iconv.h
% ls -la /usr/lib/libiconv.*
lrwxr-xr-x 1 root wheel 16 Feb 26 2014 /usr/lib/libiconv.2.4.0.dylib@ -> libiconv.2.dylib
-r-xr-xr-x 1 root wheel 2088992 Feb 26 2014 /usr/lib/libiconv.2.dylib*
lrwxr-xr-x 1 root wheel 20 Feb 26 2014 /usr/lib/libiconv.dylib@ -> libiconv.2.4.0.dylib
jika tidak, gunakan sudo xcode-select --install
dan/atau buka situs unduhan pengembang apel dan hapus instalan dan instal ulang xcode dan utilitas baris perintah xcode secara manual hingga Anda menginstal file tersebut.
kemudian jika Anda menggunakan homebrew, perbarui homebrew Anda dan unlink
libiconv
brew update
brew tap homebrew/dupes
brew uninstall libiconv
brew unlink libiconv
brew install libiconv
validasi bahwa Anda tidak memiliki /usr/local/include/iconv.h:
% ls -la /usr/local/include/iconv.h
ls: /usr/local/include/iconv.h: No such file or directory
juga validasi bahwa Anda tidak memiliki /opt/local/include/iconv.h
% ls -la /opt/local/include/iconv.h
ls: /opt/local/include/iconv.h: No such file or directory
jika Anda memiliki file itu maka Anda telah menginstal iconv dari macports, idealnya Anda akan menyingkirkan ini.
lalu coba:
gem install nokogiri
gem install nokogiri -- --with-iconv-dir=/usr
gem install nokogiri -- --with-iconv-dir=/usr/local/opt/libiconv
gem install nokogiri -- --with-iconv-dir=/opt/local
(berhenti ketika Anda menemukan yang berfungsi)
jika semuanya gagal:
brew link --force libiconv
gem install nokogiri -- --with-iconv-dir=/usr/local
sesuatu di sana harus bekerja.
@ lamont-granquist: +1:
@lamont-granquist Terima kasih atas instruksi Anda, saya mengerti apa yang terjadi dan sudah mulai memperbaikinya. Namun saya masih tidak dapat mereproduksi masalah di salah satu Mac saya sehingga tidak ada cara untuk mengonfirmasi apakah perbaikan berhasil. Bisakah Anda memberikan langkah-langkah untuk reproduksi?
Yah, saya sudah memiliki MBP ini selama 3 tahun dan setelah 2 peningkatan OS dan setidaknya 3 pemulihan TM, /usr/include/iconv.h saya entah bagaimana menghilang. Jadi nuke'ing file itu dapat menyebabkan masalah. Solusinya adalah menginstal ulang xcode dan alat baris perintah dengan benar.
Juga, saat men-debug satu hal ini orang menyarankan lakukan adalah 'brew link libiconv --force' sehingga diinstal ke /usr/local/include/iconv.h -- meskipun ada peringatan besar ketika Anda melakukan 'brew install libiconv ' dan 'brew link libiconv' bahwa ini adalah ide yang buruk. Masalahnya adalah Anda dapat mengambil iconv.h itu saat mengambil sistem /usr/lib/libiconv.dylib dan yang memiliki konflik segera atas iconv_open() vs libiconv_open() dan gagal untuk mengkompilasi karena mereka berbeda versi.
Saya tidak yakin ada yang harus diperbaiki dalam kasus-kasus itu. Masalahnya benar-benar dengan merusak sistem operasi Anda dan perlu mengembalikannya ke bentuk yang lebih murni.
Ada satu hal yang saya tidak mengerti mengapa sistem pembangunan nokogiri akan menemukan file /opt/local/include/iconv.h yang diinstal MacPorts. Saya tidak menggunakan MacPorts jadi belum men-debug itu, tetapi ini menyebabkan masalah yang mirip dengan ketika homebrew memiliki iconv.h yang terhubung langsung ke /usr/local/include. Jika nokogiri dapat dibuat untuk berhenti melakukan itu, itu akan membantu orang-orang yang menginstal libiconv dari MacPorts.
$ ls -la /usr/include/iconv.h
-rw-r--r-- 1 roda akar 7981 11 Sep 11:32 /usr/include/iconv.h
ls -la /usr/lib/libiconv.*
lrwxr-xr-x 1 root wheel 16 Sep 11 01:03 /usr/lib/libiconv.2.4.0.dylib -> libiconv.2.dylib
-r-xr-xr-x 1 roda akar 2088992 11 Sep 01:02 /usr/lib/libiconv.2.dylib
lrwxr-xr-x 1 root wheel 20 Sep 11 01:03 /usr/lib/libiconv.dylib -> libiconv.2.4.0.dylib
pembaruan minuman
Homebrew yang diperbarui dari 45e07c0e ke e0dee399.
==> Rumus yang Diperbarui
android-ndk go lockrun pazpar2
apache-spark h2 mpd pktanon
gearman juju-quickstart ossp-uuid
$ brew tap homebrew/dupes
Peringatan: Sudah disadap!
$ brew uninstall libiconv
Menghapus instalasi /usr/local/Cellar/libiconv/1.13.1...
Kesalahan: Izin ditolak - /usr/local/Cellar/libiconv/1.13.1/bin/iconv
itu memberi saya kesalahan Izin pada langkah itu
Anda perlu memperbaiki semua izin Anda di bawah /usr/local
apa pun login Anda, Anda perlu memperbaiki izin sehingga root tidak memiliki file homebrew di /usr/local:
nama pengguna saya adalah 'lamont' yang dapat saya temukan dengan perintah id
:
% id -nu
lamont
untuk memperbaiki perm, saya akan melakukan:
% sudo chown -R lamont /usr/local
Anda ingin benar-benar berhati-hati dengan perintah itu, dan periksa kembali apakah Anda telah mengeja semuanya dengan benar dan mendapatkan nama pengguna yang tepat.
@lamont-granquist Bukankah paket libiconv dari Homebrew menginstal /usr/local/lib/libiconv.dylib sambil meletakkan /usr/local/include/iconv.h? Apa yang saya tidak mengerti adalah jika /usr/local/include/iconv.h diambil mengapa /usr/local/lib/libiconv.dylib tidak saat menautkan. Biasanya ketika -I/usr/local/include ada di CPPFLAGS -L/usr/local/lib harus di LDFLAGS.
Mengenai kerusakan lingkungan, Nokogiri setidaknya dapat menyarankan (kembali) menginstal Alat Baris Perintah ketika /usr/include/iconv.h hilang di OS X.
brew unlink libiconv
Kesalahan: Tidak ada tong seperti itu: /usr/local/Cellar/libiconv
Saya mengabaikan pesan dan mengikuti langkah selanjutnya. Tidak berhasil
@knu ya, saya melihat ke dalamnya dan saya pikir saya tersesat di labirin berkelok-kelok mkmf.rb.
@Ilovebarca rm -f /usr/local/include/iconv.h
mungkin bisa membantu
@lamont-granquist
tidak tidak membantu. BTW terima kasih banyak telah mencoba membantu saya.
Itu gila, saya baru di mac dan saya mulai membencinya :))
Saya akan membuat beberapa perubahan dalam proses deteksi iconv dan menambahkan tanda centang pada /usr/include/iconv.h pada OS X ke extconf.rb. Ini adalah pekerjaan yang sedang berlangsung, dan penguji dipersilakan!
Saya telah melalui masalah github, pertukaran tumpukan, google dll dan satu-satunya hal yang berhasil sejauh ini adalah saran @lamont-granquist . Pengaturan menggunakan:
OSX 10.9.5
rbenv
Saya mengerti begitu banyak orang yang entah bagaimana membuat lingkungan OS X mereka rusak dan mereka bahkan tidak menyadarinya. Satu masalah tidak memiliki Alat Baris Perintah Xcode dan yang lainnya adalah Homebrew. Rilis nokogiri berikutnya akan mencoba mendeteksi kerusakan seperti itu sebelum memasuki build dan memperingatkan pengguna tentangnya.
Terima kasih atas dukunganmu!
Terima kasih @lamont-granquist, saya telah berjuang mengatasi masalah ini selama seminggu sekarang dan akhirnya solusi Anda untuk menginstal ulang libiconv berfungsi ... itu melegakan!!!
@jomz bekerja pada osx 10.10. terima kasih :+1:
xcode-select --install
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew doctor
brew install ruby
source /etc/profile
gem install nokogiri
Ini menginstal ruby versi 2.1.5p273 dan nokogiri 1.6.4.1. Agaknya Anda dapat memaksa pemasangan versi ini melalui homebrew dan rubygems.
brew install libxml2 libxslt
gem install nokogiri -- --use-system-libraries
Saya tidak yakin perlu menginstal ulang libxml2 dan/atau libxslt, tetapi ini berhasil bagi saya.
Saya yakin kami telah menangkap ini dalam tutorial instalasi yang diperbarui di sini:
Jika tidak, beri tahu saya dan saya akan membuka kembali.
Terima kasih untuk tautan tutorialnya! Ini berfungsi untuk saya ketika saya menentukan jalur file, seperti yang dijelaskan dalam "Menggunakan instalasi libxml2 / libxslt yang tidak standar." (Sepertinya /usr/bin di OS X 10.6.8 dianggap sebagai lokasi yang tidak standar untuk pustaka sistem.)
Untuk menemukan jalur file, saya menggunakan perintah Terminal which xml2-config
dan which xslt-config
. Mungkin memperbarui tutorial untuk menyarankan melakukan ini?