Nokogiri'yi OSX 10.9 Maverick'e yükleme hatası?


109

OSX'imi (Lion) Mavericks'e yükselttim ve projelerim için Nokogiri'yi yükleyemiyorum.

XCode 5.0.1, Komut Satırı Araçlarını (kullanarak xcode-select --install) ve Homebrew'den libxml2'yi zaten yükledim ve hala sorun yaşıyorum.

Hata şudur:

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.

Homebrew'den libxml2, libxslt ve libiconv yükledim ve parametreleri Nokogiri'yi kuracak şekilde ayarladım, ancak çalışmıyor.

Çevremde neyin yanlış olduğunu bulamıyorum, bana yardım edebilir misin?



2
Xcode'u açmayı deneyin ve EULA / lisansı kabul edin.
moander

Yanıtlar:


245

Nokogiri'yi, aşağıdakileri kullanarak tam XCode Install ile Mac OS X 10.9 Mavericks'e de yükleyebilirsiniz :

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

Güncelleme

Yosemite kullananlar için aşağıdaki komut çalışacaktır:

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

veya aslında MacOSX10.11.sdkklasörünüzde olabilir (benimki 18 Eylül 2015 itibariyle), bu nedenle henüz tam olarak El Capitan'a kadar olmasanız bile, yakın zamanda XCode'u güncelledim ve El Capitan SDK'yı kullanmanız gerekebilir izleyen yol:

Güncelleme

El Capitan kullananlar için aşağıdaki komut çalışacaktır:

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

Güncelleme

Sierra kullananlar için aşağıdaki komut çalışacaktır:

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
Benim için değil: "libxml2 eksik. Lütfen bağımlılıkları yükleme konusunda yardım için nokogiri.org/tutorials/installing_nokogiri.html adresini ziyaret edin ." Hala aynı hatayı alıyorum.
Pop-A-Stash

1
--Use-system-libraries eklemek zorunda kaldı. Daha sonra Xcode 5.1.1 ve brew ile yepyeni bir mavericks kurulumunda çalıştı.
jmg

11
--use-system-librariesBunun işe yaraması için eklemek zorunda kaldı: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
10.10.3'te benim için çalışacak tek seçenek bu: 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 / Contents / Developer / Platforms / MacOSX.platform / Developer / SDKs / 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
Yanıtınızı, tüm OS X sürümlerinde ve Xcode yükleme yollarında çalışması gereken daha genel komutla güncellemek isteyebilirsiniz:gem install nokogiri -- --with-xml2-include=`xcrun --show-sdk-path`/usr/include/libxml2 --use-system-libraries
Philipp


20

Bu günlüğü buldum ve gcc-4.2'nin bulunmadığını gördüm:

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

Bu sorunu çözmek için homebrew kullanarak apple-gcc42'yi kurdum brew install apple-gcc42ve / usr / bin'im için bir sembolik bağlantı oluşturdum:

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


bu benim için sorunu çözmedi, hala aynı hata mesajını alıyorum :(
David Portabella

1
Rvm ve ruby'yi (brew'den) tamamen kaldırdım, tekrar kurdum ve işe yaradı.
David Portabella

3
Yani, sadece koşuyorum brew install apple-gcc42.. ve sadece çalışıyor. Bu komut senin için çalışmıyor mu?
squiter

4
xcode-select --installDemleme kurulumundan önce koştum ve şimdi her şey çalışıyor.
Quickredfox

1
@LucyBain Gerçekten hatırlamıyorum .... ama günlük dosyasının gem_meake.out ile aynı dizinde olduğunu düşünüyorum ...
squiter

15

Xcode 5.1 çalıştırıyorsanız, komut satırı araçları nokogiri 1.6.1 için çalışmaz. Apple'dan Ekim 2013 sonu araçlarını indirmeniz gerekecek . Bunu bir kez yaptıktan sonra

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

makinenizi Xcode 5.0.X komut satırı araçlarını kullanacak şekilde ayarlamak için

gem install nokogiri

Daha sonra komut satırı araçlarınızı Xcode.app sürümüne sıfırlamak istiyorsanız

sudo xcode-select -r

Veya yapabileceğiniz başka bir şey, bilinmeyen komut satırı argümanlarını yok saymak için bayrak eklemektir. Ardından kurulum şu şekilde görünür:

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

12

OSX Mavericks'te benim için işe yarayan buydu:

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

şaşırtıcı bir şekilde, bu basamakta bana da yardımcı olan tek şey bu. Teşekkürler!
KonstantinK

Bununla ilgili sorun, sudoRVM veya rbenv ile kullanmak , root korumalı Ruby'lerin nerede yaşadığını bilmediğinden sorunlara neden olacaktır. Bu, RVM kurulum sayfasında ele alınmıştır . OP, RVM kullanıyor ve kullanmak sudo, Nokogiri'nin kullanıcının değil Apple'ın Ruby'ye yüklenmesine neden oluyor. Bu nedenle, Mac OS kullanıyorsanız Apple'ın Ruby'ye veya başka bir * nix kullanıyorsanız sistem Ruby'ye yüklemek istediğinizden EMİN değilseniz bunu yapmayın .
The Tin Man

10

OSX Mavericks kullanıyorum ve sorunum Ruby'nin kötü bir yüklemesine dönüştü.

Bu yüzden, Ruby'yi rvm ile yeniden yükledim:

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

O zaman yapabildim

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

Sorun çözüldü.


Güzel. Artık mavericks üzerinde rvm kullandığınıza göre vim'i açmayı deneyin. SEGV hatası mı? Güzel.
Tim

Mücevher setini kaldıramadım çünkü klasörler boş değildi, ancak mücevher setini yeniden yüklemek (hatalar olsa bile) yaptı! Benim için işe yarayan tek şey bu!
Onikoroshi

9

Tipik olarak sistem tarafından sağlanan şeylere bağlı kalmayı seviyorum. Bu benim için çalıştı:

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/

saatlerce googledikten sonra, benim için çalışan tek çözüm buydu, teşekkürler! : D
Rogerio Chaves

5

Mavericks 10.9.5 güncellemesini ve Apple'dan 10.9 Geliştirici araçları güncellemesini yükledikten hemen sonra bu sorunla karşılaştım. Koştum xcode-select --installama bu sorunu çözmedi. Sonra XCode'u açtım, eula'yı kabul ettim ve XCode'dan çıktım. Bu sorunu çözdü.


3

Bugün Maverick'te bu sorunu yaşadım, sorunu bu şekilde çözdüm:

brew update
brew install libiconv
brew link libiconv

Aşağıdaki Cellar madeninde libiconv sürümünün 1.14 olduğunu bildiğinizden emin olun, ardından aşağıdaki gibi kurun:

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

Belirli bir nokogiri sürümüne (örneğin -v '1.6.2.1') ​​ihtiyacınız varsa şu şekilde kurun:

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

Nokogiri başarıyla kuruldu!


Yosemite'de de benim için çalıştı. Yukarıdaki cevapların hiçbiri işe yaramadı.
MattL

3

Bu, @ thomas_witt'in gönderisiyle aynıdır ancak Mac OS X Sierra'da çalışır:

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

Yüklemeyi çalıştırmak için, komuttaki dosya gem installyollarını sistemimdekilerle eşleşecek şekilde değiştirmem gerekiyordu . Farklı libxml2 ve libiconv sürümlerine ve biraz farklı bir dosya yapısına sahibim. Değişikliklerimle birlikte komut şudur:

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

Dosya yollarında çok titiz olmalıydım. Komutları doğru bir şekilde oluşturmak için birden fazla denemem gerekti.
darkmoves

Yanlış bir libxml sürümü sorunu için başka bir çözüme bağlantı burada .
darkmoves

2

MacPorts kullanan kişiler için , libxml2üzerinden yüklediğinizden emin olun MacPorts. Ardından şunu yazın:

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

Bu hile yapmalı, benim için tam yolları kullanmadan çalıştı.


2

Kullanın brew install libxml2 libxsltEğer Homebrew kullanırsanız.


2

İşte başka bir referans:

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]

Nokogiri yüklerken hata aldım

bunun gibi bir hata:

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

Önce geliştirme araçlarını yüklemelisiniz.

o zaman muhtemelen ihtiyacınız var:

$ xcode-select --install

veya gibi bir hata alırsanız

checking for libxml/parser.h... no

Kitaplık yolunu şu şekilde düzeltirim:

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/

paket için aşağıdaki gibi bir şeye ihtiyacınız var:

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

Bu benim için çalışıyor

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

Sadece iki komutun altında çalıştırın

$ xcode-select --install

Sizden "evet" demenizi ve ardından xcode bileşenini yüklemenizi isteyecek ve ardından kur'a tıklayın.

Şimdi aşağıdaki komutla gem kurmayı deneyin

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

Bu, yukarıdaki ortamda benim için çalışıyor.


1

Mavrick için de aynı sorunla karşılaştım ve çözüm şuydu:

xcode-select --install

Ancak, Apple'ın Komut satırı aracı indirme sayfası bu yükleyiciyi şu anda kamuya açık olarak sunmadığından, bu çalışmıyor.

Dolayısıyla, Mavricks için komut satırı araçlarına sahip olmak istiyorsanız, ücretli bir hesabınızın olması gerekir . O zaman sadece siz yükleyebileceksiniz. Bir kez kurduğunuzda, Nokogiri ile bu sorunla karşılaşmayacaksınız.


Ücretli bir hesabım yok ve komut satırı araçlarını kurdum. Terminal kullanarak kurdum, ancak bir arkadaşım bu indirme sayfasını kullanarak yükledi ve onun da ücretli bir hesabı yok.
squiter

Size katılıyorum. 24 Kasım 2013'e kadar bende de aynı şey oldu. Ancak şimdi o sayfaya gidip erişmeye çalışırsanız size bu hatayı verecektir. Garip olan şey, kimlik bilgilerinizle giriş yapmanız, ancak misafir olarak giriş yapmanızı sağlayacak. Sayfamda hesabımla birlikte aldığım mesaj şu: Apple Geliştirici Programı Büyük Uyarı İsteğinizi işleme koyamıyoruz. Lütfen önceki sayfaya geri dönün veya tarayıcınızdan çıkın ve isteğinizi tekrar deneyin. Yardıma ihtiyacınız varsa lütfen Apple Geliştirici Desteği ile iletişime geçin.
shinesecret

1

Yeni bir Mavericks kurulumunda aynı hatayı aldım. Bir karar verdikten sonra Xcode uygulama paketimi olarak yeniden adlandırdım Xcode 5.0.1.app.

Görünüşe göre Nokogiri kurulum betiği yollarından alıntı yapmıyor ve bu nedenle dosya adındaki boşluk her türlü soruna veya soruna neden oluyor. brew install libxml2Hatanın açık olduğunu deneyene kadar değildi .

Alınan ders: dosya adlarındaki boşluklar kötüdür.


1

Benim durumumda, sembolik bağlantı oluşturduktan sonra /usr/bin/gcc-4.2'yi çalıştırmam gerekti. Lisans sözleşmesini kabul etmelisiniz, aksi takdirde askıda kalır.


1

Hata mesajı burada bir ipucu verir: 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  

Ayrıca bunları kurmanız ve bağlamanız gerekebilir:

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

Benim için hata, gcc'nin (4.2.1, Homebrew'den yüklenen) şundan şikayet ediyor olmasıydı:

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

Sorunu yalnızca x86_64'ü zorlayarak çözdüm:

ARCHFLAGS="-arch x86_64" gem install nokogiri 

1

Maverick'e yükselttikten sonra benzer bir sorun yaşadım. Ruby 1.9.2-p320 ile RVM kullanıyorum ve burada verilen birkaç çözümü denedim, ancak hiçbir şey sorunu çözmedi.

Sonra Ruby 2.1.2'ye geçtim ve bundle installhemen Nokogiri'yi kurdum.


1

Bundler'ı kullanırken el capitan'da bu sorunu yaşayan biri varsa.

Xcode komut satırı araçlarının kurulu olduğundan emin olun ve şunu çalıştırın:

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

Raylar 3 sürüm uygulamasını çalıştırmaya çalışırken son iki haftadır aynı sorunla karşılaşıyordum.

Sorun, rvm / rbenv'inizin C derleyicisini kullanmamasıdır.

Rvm'nin uyumlu C derleyicisini alması için bu komutu kullanın

CC=gcc rvm install-version

Yani Ruby 1.9.3 kullanıyorsanız, bu şekilde kullanın

CC=gcc rvm install-1.9.3

Kurulumu veya herhangi bir şeyi paketleyemediğiniz her zaman bu komutu kullanın. Bu şey El Capitan, rails 3.2.16, ruby ​​1.9.3, mysql 5.7 üzerinde çalışıyor umarım, sorunu çözecektir.

Raylar 3 sürüm uygulamasını çalıştırmaya çalışırken son iki haftadır aynı sorunla karşılaşıyordum.

Sorun, rvm / rbenv'inizin C derleyicisini kullanmamasıdır.

Rvm'nin uyumlu C derleyicisini alması için bu komutu kullanın

CC=gcc rvm install-version

Yani Ruby 1.9.3 kullanıyorsanız, bu şekilde kullanın

CC=gcc rvm install-1.9.3

Kurulumu veya herhangi bir şeyi paketleyemediğiniz her zaman bu komutu kullanın.

Bu şey El Capitan, rails 3.2.16, ruby ​​1.9.3, mysql 5.7 üzerinde çalışıyor umarım, sorunu çözecektir. Ayrıca, zaten Xcode'a sahipseniz ve aynı zamanda herhangi bir gem yüklerken aynı hataları almıyorsanız, bu çözümü deneyin.


1

Yükseltmeden kısa bir süre sonra aynı sorunla karşılaştıktan sonra bulgularımı buraya ekledim: http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/

Düzeltme basitçe şu 2 komuttur:

xcode-select --install
gem install nokogiri

Umarım yardımcı olur.


5
Lütfen içeriği buraya gönderin - bağlantılar bozulabilir (yönergelere bakın)
Justin

Bana yardımcı oldu, ancak cevabı bir bağlantıdan ziyade burada yayınlama
Richard

Bu, Yığın Taşması'nda önerilmeyen, Yalnızca Bağlantıya dayalı bir yanıt olarak kabul edilen şeydir. Yalnızca kendi sitenize bir bağlantı göndermek yerine, cevabınızdaki önemli bilgileri de özetleyin. Böylelikle, bağlantı çürüyorsa, tıpkı onların yaptığı gibi, cevap bir miktar değer sağlamaya devam edecektir.
The Tin Man

0

Ben de bu sorunu yaşadım. Çalıştırma brew doctor, / user / local / lib içinde beklenmedik bir libiconv sürümüne sahip olduğumu gösterdi.

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

Bu yüzden onları kaldırdım ve libxml'i yeniden cezalandırdım:

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

Son olarak nokogiri'yi kurdum:

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

benzer bir sorun yaşadım (bağlantısız bir libiconv). Libiconv bağlantısını kaldırdım ve yeniden yükledim. brew libiconv'u kurun, sonra gem install nokogirl.
Ben

0

Bu yanıtların hiçbiri benim özel durumum için işe yaramadı ve yeni olduğum için çözümümün başka birine yardımcı olabileceğini düşündüm.

Yosemite kullanıyorum ve Ruby 1.9.3p547 kullanıyordum. P547 için bir güvenlik teşhiri vardı, bu yüzden Ruby 1.9.3p550 veya üstüne güncellemeye çalışıyordum. RVM kullandım, sonra mücevherlerimi taşımaya çalıştım ve çoğu gitmedi. Sonra yüklemeyi paketlemeye çalıştım ama bu başarısız oldu ve bunun çeşitli yollar ve bağımlılıklar arasında bir çelişki olduğunu düşündüm ve bu yüzden Ruby'nin eski sürümünü kaldırdım. Bu her şeyi kırdı.

XCode'u indirmiş ve yakın zamanda CLI araçlarını güncellemiş olmama rağmen, C derleyicisinin eksik olduğunu söyleyen bir mesaj almaya devam ettim. Yaptığım üçüncü taraf bir GCC'yi indirmemi söyleyen başka bir web sitesi buldum. bu her şeyi daha da kötüleştirdi.

Şimdi profillerimi ve PATH'lerimi düzeltmem gerektiğini veya OSX'i yeniden yüklememin daha kolay olabileceğini belirten bir mesaj alıyorum. Ben de yaptım.

Her neyse, daha uzun hikaye sadece uzun: Nihayet benim için işe yarayan çözüm RVM'den kurtulmak ve çalıştırmadan önce istediğim Ruby sürümünü indirmek için sadece brew kullanmaktı bundle install. Doğru Nokogiri FIRST sürümünü yükleyin.

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

Kullanmak sudo, Nokogiri'nin root tarafından bilinen tek Ruby'ye kurulmasına neden olacaktır, bu da Homebrew kullanılmadığı sürece büyük olasılıkla Apple'ın yüklü Ruby'sidir. OP, RVM kullandığından, bu, Nokogiri'nin RVM tarafından yönetilen bir Ruby tarafından görülmeyeceği ve yalnızca sorunu artıracağı anlamına gelir. Kullanma sudobu durumda yaramış olabilir, ancak bir RVM ile çalıştı edilmemelidir veya Ruby yönetilen rbenv. RVM özellikle kurulum belgelerinde bunu yapmamayı söylüyor .
The Tin Man

0

Windows için yerel kurulumu da deneyebilirsiniz:

  1. ortamınıza göre uygun mücevheri indirin.

  2. gem dosyasını kaydettiğiniz dizine gidin.

  3. gem install --local nokogiri-1.6.3.1-x86-mingw32.gem

çalışmazsa, zlib ve mingw veya uygun c derleyicinizin kurulu olup olmadığını kontrol edebilirsiniz.


0

Buradaki her lanet şey bunu benim için yapmadı (demleme yeniden yüklemelerine girmedim, oy), ama bu nihayet yaptı (ilgisiz bir projeyle ilgili bir hata raporu aracılığıyla bulundu):

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

İyi şanslar. Yaşasın # tıraş olmak!


-3

Commandline araçları sürümünüzü kontrol edin. Makinenizi Xcode 5.0.X komut satırı araçlarını kullanacak şekilde ayarlayın ve ardından şunu çalıştırın:

gem install nokogiri

bu komutu kullanmalısın. açık terminal. ve bu komutu yazın. dışa aktar NOKOGIRI_USE_SYSTEM_LIBRARIES = true
Durul Dalkanat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.