2015-11-28 2 views
2

Я пытаюсь установить nokogiri на моей машине, но я получаю следующее сообщение об ошибке:вопросы Nokogiri с Рубином на Rails

Building native extensions. This could take a while... 
ERROR: Error installing nokogiri: 
    ERROR: Failed to build gem native extension. 

    current directory: /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.6.4/ext/nokogiri 
/Users/username/.rbenv/versions/2.0.0-p481/bin/ruby -r ./siteconf20151127-29540-11ahx4h.rb extconf.rb 
checking if the C compiler accepts ... *** 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 
    --without-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/username/.rbenv/versions/2.0.0-p481/bin/ruby 
    --help 
    --clean 
/Users/username/.rbenv/versions/2.0.0-p481/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 /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:549:in `block in try_compile' 
    from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:500:in `with_werror' 
    from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:549:in `try_compile' 
    from extconf.rb:80:in `nokogiri_try_compile' 
    from extconf.rb:87:in `block in add_cflags' 
    from /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/2.0.0/mkmf.rb:599:in `with_cflags' 
    from extconf.rb:86:in `add_cflags' 
    from extconf.rb:337:in `<main>' 

To see why this extension failed to compile, please check the mkmf.log which can be found here: 

    /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/extensions/x86_64-darwin-14/2.0.0-static/nokogiri-1.6.6.4/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/gems/nokogiri-1.6.6.4 for inspection. 
Results logged to /Users/username/.rbenv/versions/2.0.0-p481/lib/ruby/gems/2.0.0/extensions/x86_64-darwin-14/2.0.0-static/nokogiri-1.6.6.4/gem_make.out 

Я не уверен, как идти о фиксации этого, как я не слишком большой опыт настройки собственных расширений. Любая помощь будет принята с благодарностью. Сообщите мне, нужно ли представлять дополнительную информацию.

+0

В журнале ошибок указано, что вам необходимо установить средства разработки. Попробуйте установить их, запустив 'xcode-select --install' - надеюсь, что это поможет. – Zoran

+0

Я пробовал это, и все мои инструменты установлены. Он отвечает на следующее: 'xcode-select: error: инструменты командной строки уже установлены, используйте« Обновление программного обеспечения »для установки обновлений». Поэтому я запустил обновление программного обеспечения, перезапустил и попытался установить nokogiri. По-прежнему получается то же самое сообщение об ошибке. – Nappstir

+1

Вы приняли лицензионное соглашение? Попробуйте 'sudo xcodebuild -license' или просто откройте xcode – amree

ответ

1

Это, по-видимому, распространенная проблема. Вы можете проверить по следующей ссылке

http://www.nokogiri.org/tutorials/installing_nokogiri.html

Вам нужно будет обновить Rubygems до 2.4.5 или более поздней версии, а также проверить, установлен ли средства разработки на вашем компьютере.

Или вы можете сделать следующее, если вы используете пакет

gem update --system 
gem install nokogiri -- --use-system-libraries 
bundle config build.nokogiri --use-system-libraries 
bundle install 
0

Я должен был использовать версию 1.6.7.rc4-x64-mingw32 (я на Windows). Добавлена ​​эта строка в мой Gemfile:

gem 'nokogiri', '~> 1.6', '>= 1.6.7.rc4' 
0

После объединения многих решений из вопросов, GIT и SO, это работает для меня:

gem install nokogiri -v '1.6.7' -n /usr/local/bin -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/ 

Хотя я перед именем sudo.

+0

Не используйте 'sudo' при установке драгоценных камней. Это заставляет его модифицировать Ruby, установленный Apple. Вместо этого используйте RVM или rbenv для управления новым Ruby, который затем вы можете изменить до содержимого вашего сердца. –

+0

Я знаю, я просто упоминал, так как сделал. Теперь я установил RVM, и вся моя проблема с Ruby Ruby X X решена. –

Смежные вопросы