Я обновил свой OSX (Lion) до Mavericks и не могу установить Nokogiri для своих проектов.
Я уже установил XCode 5.0.1, Инструменты командной строки (using xcode-select --install
) и уже установил libxml2 из Homebrew, и у меня все еще возникают проблемы.
Ошибка:
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.
Я установил libxml2, libxslt и libiconv из Homebrew и установил параметры для установки Nokogiri, но они тоже не работают.
Я не могу найти, что не так в моей среде, вы можете мне помочь?
Ответы:
Вы также можете установить Nokogiri на Mac OS X 10.9 Mavericks с полной установкой XCode, используя:
Обновить
Для тех, кто использует Yosemite, подойдет следующая команда:
или это может быть в вашем
MacOSX10.11.sdk
любом случае папке (моя была на 18 сентября 2015 года), поэтому, даже если вы еще не полностью освоили El Capitan, я недавно обновил XCode, и вам может потребоваться использовать El Capitan SDK путь, который следует далее:Обновить
Для тех, кто использует El Capitan, подойдет следующая команда:
Обновить
Для тех, кто использует Sierra, будет работать следующая команда:
источник
--use-system-libraries
чтобы это заработало:gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/libxml2 --use-system-libraries
gem install nokogiri -- --with-xml2-include=`xcrun --show-sdk-path`/usr/include/libxml2 --use-system-libraries
После перехода анимированных GIF - файлов здесь , все , что я должен был сделать просто
xcode-select --install
иgem install nokogiri
работал отлично.источник
Я нашел этот журнал и увидел, что gcc-4.2 не найден:
Чтобы решить эту проблему, я установил apple-gcc42 с помощью homebrew
brew install apple-gcc42
и создал символическую ссылку на мой / usr / bin:sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc-4.2
источник
brew install apple-gcc42
... и просто работает. Эта команда у вас не работает?xcode-select --install
до установки brew, и теперь все работает.Если вы используете Xcode 5.1, инструменты командной строки не работают для nokogiri 1.6.1. Вам нужно будет загрузить инструменты конца октября 2013 года от Apple . Как только вы это сделаете, запустите
чтобы настроить компьютер для использования инструментов командной строки Xcode 5.0.X, затем запустите
Если вы хотите сбросить инструменты командной строки до версии Xcode.app, запустите
Или еще одна вещь, которую вы можете сделать, - это добавить флаг, чтобы игнорировать неизвестные аргументы командной строки. Тогда установка будет выглядеть так:
источник
Вот что у меня сработало на OSX Mavericks:
источник
sudo
с RVM или rbenv вызовет проблемы, поскольку root не знает, где находятся изолированные Rubies. Это описано на странице установки RVM . OP использует RVM, иsudo
это приведет к установке Nokogiri в Ruby от Apple, а не на пользователя. Так что не делайте этого, если вы НЕ УВЕРЕНЫ, что хотите установить в Ruby от Apple, если вы используете Mac OS, или в системный Ruby, если вы используете другой * nix.Я использую OSX Mavericks, и моя проблема оказалась плохой установкой Ruby.
Итак, я переустановил Ruby с помощью rvm:
Тогда я смог
Задача решена.
источник
Обычно я предпочитаю работать с системными вещами. Это сработало для меня:
источник
Я столкнулся с этой проблемой сразу после установки обновления Mavericks 10.9.5 и обновления инструментов разработчика 10.9 от Apple. Я побежал
xcode-select --install
, но это не устранило проблему. Затем я открыл XCode, принял eula и вышел из XCode. Это устранило проблему.источник
У меня была эта проблема сегодня на Maverick, вот как я решил проблему:
Убедитесь, что вы знаете, что версия libiconv в шахте Cellar ниже была 1.14, затем установите ее, как показано ниже:
Если вам требуется конкретная версия nokogiri, например -v '1.6.2.1', установите ее как:
Nokogiri успешно установлен!
источник
Это то же самое, что и сообщение @ thomas_witt, но работает в Mac OS X Sierra:
источник
Чтобы установка заработала, мне пришлось изменить пути к файлам в
gem install
команде, чтобы они соответствовали таковым в моей системе. У меня разные версии libxml2 и libiconv и немного другая файловая структура. Команда с моими изменениями выглядит так:источник
Для людей, использующих MacPorts , убедитесь, что вы установили
libxml2
черезMacPorts
. Затем введите:Это должно сработать, у меня сработало без использования полных путей.
источник
Используйте,
brew install libxml2 libxslt
если вы используете Homebrew.источник
Вот еще одна ссылка:
У меня ошибка при установке nokogiri
ошибка вроде этого:
Сначала вам нужно установить инструменты разработки.
тогда наверное понадобится:
или если у вас есть ошибка, например
Я просто исправляю путь к библиотеке:
для бандла нужно что-то вроде:
источник
Это работает для меня
Просто запустите ниже две команды
Он попросит вас загрузить, скажите «да», затем он попросит установить компонент xcode, нажмите «Установить».
Теперь попробуйте установить драгоценный камень с помощью команды ниже
Это работает для меня с вышеуказанной средой.
источник
Я столкнулся с той же проблемой для Маврика, и решение было:
Однако это не работает, поскольку на странице загрузки Apple для инструмента командной строки этот установщик сейчас не доступен публично.
Итак, если вы хотите иметь инструменты командной строки для Mavricks, вам необходимо иметь платную учетную запись . Только тогда вы сможете его установить. После установки вы не столкнетесь с этой проблемой с Nokogiri.
источник
У меня была такая же ошибка при новой установке Mavericks. После оплошности я переименовал свой пакет приложений Xcode в
Xcode 5.0.1.app
.Судя по всему, скрипт установки Nokogiri не цитирует свои пути, поэтому пробел в имени файла вызывал всякие проблемы или проблемы. Это не было, пока я не попробовал
brew install libxml2
, ошибка стала очевидной.Извлеченный урок: пробелы в именах файлов - зло.
источник
В моем случае мне пришлось запустить /usr/bin/gcc-4.2 после символьной ссылки. Вы должны принять лицензионное соглашение, иначе оно зависнет.
источник
Сообщение об ошибке дает подсказку:
The compiler failed to generate an executable file. (RuntimeError)
Вам также может потребоваться заварить установку и связать их:
источник
источник
Для меня ошибка заключалась в том, что gcc (4.2.1, установленный из Homebrew) жаловался, что:
Я решил проблему, заставив только x86_64:
источник
После обновления до Maverick у меня возникла аналогичная проблема. Я использую RVM с Ruby 1.9.2-p320 и пробовал несколько приведенных здесь решений, но ничего не решило проблему.
Затем я перешел на Ruby 2.1.2 и
bundle install
сразу же установил Nokogiri.источник
Если у кого-то возникла эта проблема на el capitan при использовании Bundler.
Убедитесь, что инструменты командной строки xcode установлены, и запустите это:
источник
Я столкнулся с той же проблемой за последние две недели, пытаясь запустить приложение версии rails 3.
Проблема в том, что ваш rvm / rbenv не использует компилятор C.
Используйте эту команду, чтобы rvm взял совместимый компилятор C
Итак, если вы используете Ruby 1.9.3, используйте его следующим образом
Используйте эту команду каждый раз, когда вы не можете связать установку или что-то еще. Эта штука работает на El Capitan, rails 3.2.16, ruby 1.9.3, mysql 5.7. Надеюсь, это решит проблему.
Я столкнулся с той же проблемой за последние две недели, пытаясь запустить приложение версии rails 3.
Проблема в том, что ваш rvm / rbenv не использует компилятор C.
Используйте эту команду, чтобы rvm взял совместимый компилятор C
Итак, если вы используете Ruby 1.9.3, используйте его следующим образом
Используйте эту команду каждый раз, когда вы не можете связать установку или что-то еще.
Эта штука работает на El Capitan, rails 3.2.16, ruby 1.9.3, mysql 5.7. Надеюсь, это решит проблему. А также, если у вас уже есть Xcode, а затем вы не получаете те же ошибки при установке любого драгоценного камня, попробуйте это решение.
источник
Я добавил сюда свои выводы после того, как столкнулся с этой же проблемой вскоре после обновления: http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/
Исправить просто эти 2 команды:
Надеюсь, поможет.
источник
У меня тоже была эта проблема. Запуск
brew doctor
показал, что у меня была неожиданная версия libiconv в / user / local / lib.Поэтому я удалил их и обновил libxml:
Наконец, я установил нокогири:
источник
Ни один из этих ответов не работал в моем конкретном случае, и, поскольку я новичок, я подумал, что мое решение может помочь кому-то другому.
Я использую Yosemite и Ruby 1.9.3p547. Была уязвимость для безопасности p547, поэтому я пытался обновиться до Ruby 1.9.3p550 или выше. Я использовал RVM, затем попытался перенести свои драгоценные камни, но многие из них не прошли. Затем я попытался связать установку, но это не удалось, и я подумал, что, может быть, это конфликт между различными путями и зависимостями, поэтому я удалил старую версию Ruby. Это все сломало.
Я продолжал получать сообщение о том, что компилятор C отсутствует, хотя я скачал XCode и недавно обновил инструменты CLI. Я нашел другой веб-сайт, который велел мне загрузить сторонний GCC, что я и сделал. что сделало все еще хуже.
Теперь я получаю сообщение о том, что мне нужно исправить мои профили и PATH, или, возможно, будет проще переустановить OSX. Так я и сделал.
В любом случае, более длинная история просто длинная: решение, которое наконец сработало для меня, заключалось в том, чтобы избавиться от RVM и просто использовать brew для загрузки версии Ruby, которую я хотел тогда, перед запуском
bundle install
. Установите правильную версию Nokogiri FIRST.источник
sudo
приведет к установке Nokogiri в единственном Ruby, известном под root, который, скорее всего, будет установленным Apple Ruby, если не используется Homebrew. Поскольку OP использовал RVM, это означает, что Nokogiri не будет виден Ruby, управляемым RVM, и только усугубит проблему.sudo
В этом случае использование могло бы сработать, но его не следует пытаться использовать с Ruby, управляемым RVM или rbenv. RVM специально говорит не делать этого в документации по установке .для Windows вы также можете попробовать локальную установку:
загрузите соответствующий гем в зависимости от вашей среды.
перейдите в каталог, в котором вы сохранили гем-файл.
gem install --local nokogiri-1.6.3.1-x86-mingw32.gem
если не работает, вы можете проверить, установлены ли у вас zlib и mingw или соответствующий компилятор c.
источник
Каждая чертова штука здесь не сделала этого для меня (я не влезал в переустановки brew, ой), но это, наконец, сработало (обнаружено через отчет об ошибке в каком-то несвязанном проекте):
Удачи. Ура за #yakshaving!
источник
Проверьте свою версию инструментов командной строки. Настройте свой компьютер для использования инструментов командной строки Xcode 5.0.X, затем запустите:
источник