Vagrant не может установить плагины, зависящие от nokogiri
Я пытаюсь установить плагин rackspace для vagrant (1.5.1):
vagrant plugin install vagrant-rackspace
но он жалуется
Bundler, базовая система Vagrant используется для установки плагинов, сообщать об ошибке. Ошибка показана ниже. Эти ошибки обычно вызвано неправильно настроенными установками плагинов или переходной сетью проблемы. Ошибка от Bundler:
произошла ошибка при установке nokogiri (1.6.1) и Bundler не могу продолжать. Убедитесь, что
gem install nokogiri -v '1.6.1'
преуспевает перед связывать.
gem install nokogiri -v '1.6.1'
и /Applications/Vagrant/embedded/bin/gem install nokogiri -v '1.6.1'
оба работают.
Я посмотрел на кучу тем SO и сообщений в блоге. Вещи, которые я пробовал, которые не работали
- под управлением
xcode-select --install
- установка полного xcode
- brew установить gcc-4.2
- удалить rvm и rvm версии ruby
- установите nokogiri с встроенным (mac) ruby и Vagrant-embedded Руби!--22-->
несмотря на то, что nokogiri устанавливает штраф (#5 выше) без sudo по обоим пунктам,vagrant plugin install vagrant-rackspace
все еще не удается...
Итак, вкратце, я можете установите плагин nokogiri, однако я не может установите плагин vagrant rackspace, вы можете помочь мне установить плагин?
связанные темы
- ошибка установки Nokogiri на OSX 10.9 Маверик?
- nokogiri-ошибка: не удалось создать собственное расширение gem
полный выход плагин vagrant установить vagrant-rackspace --debug
8 ответов
Я на OSX Mavericks, и это сработало для меня:
установить как свойство среды:
NOKOGIRI_USE_SYSTEM_LIBRARIES=1
затем установите как обычно:
vagrant plugin install vagrant-rackspace
корабли бродяги с врезанным Рубином и изолированной окружающей средой самоцвета. Поэтому установка драгоценных камней вручную в вашу" нормальную " среду драгоценных камней не поможет.
первая проблема заключается в том, что вы никогда не должны использовать sudo для запуска любой команды vagrant. Если возможно, удалите ~/.бродяга.d / или, по крайней мере, рекурсивно возвращайте его своему пользователю. Вы также можете попробовать обновить Vagrant до v1.5.1.
тогда, пожалуйста, gist / pastebin выход vagrant plugin install vagrant-rackspace --debug
и ~/.бродяга.д/драгоценные камни/драгоценные камни/nokogiri по-1.6.1/ВН/nokogiri по/mkmf.бревно.
опубликованные решения не работали для меня. Вместо этого мне нужно было указать libxml2, libxslt и libiconv, что я установлен с homebrew (сначала сделайте это).
Я установил gem вручную со встроенным Рубином со следующей [очень краткой] командной строкой:
/Applications/Vagrant/embedded/bin/gem install \ # select the embedded ruby
--install-dir ~/.vagrant.d/gems \ # install to the vagrant dir
nokogiri -v '1.6.2.1' -- \ # pass options to nokogiri install
--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
это сработало для меня на Mavericks и Vagrant 1.6.1:
CC=/usr/bin/gcc vagrant plugin install vagrant-rackspace
пробовал NOKOGIRI_USE_SYSTEM_LIBRARIES=1
но получил сообщение об ошибке, что система libxml2 слишком стара.
предупреждение: это супер-Сокс решение, хотя это трудно назвать.
вчера я установил Vagrant на другой OSX Mavericks box. Как и многие другие сообщения, которые я читал на SO "Я" был работать xcode-select --install
и vagrant plugin install vagrant-rackspace
сработало как заклинание.
сегодня я снова погряз в коде Bundler, когда до меня дошло, что, поскольку это изолированная среда ruby, почему бы не nuke my
в моем случае папки nokogiri и их файлы, расположенные в ~/vagrant.d/gems/gems
были неправильные права (пользователь/группа).
после изменения их в username:staff
(username
будучи вашим именем пользователя консоли), он работает как шарм.
аналогично с моим случаем, у меня есть проблема при установке vagrant-omnibus
плагин для Vagrant 1.6.3 на OSX Mavericks 10.9.4 и ruby 2.0.0p247 rbenv.
Я попытался установить env NOKOGIRI_USE_SYSTEM_LIBRARIES в 1 или true, затем обновить+установить, но та же ошибка все еще там.
Я обнаружил, что есть предложение в https://github.com/mitchellh/vagrant/issues/3769 для использования укажите испеченный в версии nokogiri, и это работает для меня. Итак, я также написал быстрый отметить для себя, чтобы передать этот несчастный вопрос.
Если решение Нейта Мюррея не работает, я нашел обновление до версии Vagrant > 1.6.4 исправил проблему (как отмечено в этой проблеме Github:https://github.com/mitchellh/vagrant/issues/3769)