plugins vagrant osx-mavericks

plugins - Vagrant no puede instalar complementos nokogiri-dependientes



osx-mavericks (8)

Estoy tratando de instalar el plugin Rackspace para vagabundo (1.5.1):

vagrant plugin install vagrant-rackspace

Pero se queja

Bundler, el sistema subyacente que Vagrant usa para instalar complementos, informó un error. El error se muestra a continuación. Estos errores suelen ser causados ​​por instalaciones de complementos mal configuradas o por problemas de red transitorios. El error de Bundler es:

Se produjo un error al instalar nokogiri (1.6.1) y Bundler no puede continuar. Asegúrate de que la gem install nokogiri -v ''1.6.1'' tenga éxito antes de empacar.

Sin embargo, gem install nokogiri -v ''1.6.1'' y /Applications/Vagrant/embedded/bin/gem install nokogiri -v ''1.6.1'' ambos funcionan.

He visto un montón de temas SO y publicaciones en el blog. Cosas que he probado que no han funcionado

  1. Ejecutando xcode-select --install
  2. Instalando xcode completo
  3. brew instalar gcc-4.2
  4. Elimina la versión rvm y rvm de ruby
  5. Instalar nokogiri con ruby ​​incorporado (mac) y ruby ​​incrustado en vagabundo

A pesar de que nokogiri se instala bien (n. ° 5 arriba) sin sudo en ambos vagrant plugin install vagrant-rackspace sigue fallando ...

Entonces, en resumen, puedo instalar el complemento nokogiri; sin embargo, no puedo instalar el complemento vago de rackspace. ¿Me pueden ayudar a instalar el complemento?

Temas relacionados

Salida completa del plugin vagabundo install vagrant-rackspace --debug


Vagrant se envía con Ruby incrustado y entorno de joya aislado. Por lo tanto, instalar gemas manualmente en su entorno gema "normal" no ayudará.

El primer problema es que nunca debes usar sudo para ejecutar ningún comando vago. Si es posible, elimine ~ / .vagrant.d / o al menos vuelva a conectarlo recursivamente a su propio usuario. También puedes intentar actualizar Vagrant a v1.5.1.

A continuación, compruebe / pastebin la salida de la vagrant plugin install vagrant-rackspace --debug y ~ / .vagrant.d / gems / gems / nokogiri-1.6.1 / ext / nokogiri / mkmf.log.


Advertencia: esta es una solución súper hacky , aunque es difícil llamarlo así.

Ayer instalé Vagrant en otra caja OSX Mavericks. Al igual que muchos otros mensajes que leí en SO, "todo lo que tenía que hacer" era ejecutar xcode-select --install y bingo xcode-select --install vagrant plugin install vagrant-rackspace funcionaba como un amuleto.

Hoy volví a estar encerrado en el código de Bundler cuando me di cuenta de que, dado que se trata de un entorno aislado de ruby, ¿por qué no ~/.vagrant.d mi directorio ~/.vagrant.d el mismo directorio de la versión exitosa de la otra caja ...

¿El resultado? Un vagrant rackspace trabajo vagrant rackspace en mi computadora portátil! No estoy seguro de que alguna vez sepa lo que realmente estaba mal, pero si alguien quiere una oportunidad para la recompensa de 100 puntos, ¡todavía estoy abierto a sugerencias!


Esto funcionó para mí en Mavericks y Vagrant 1.6.1:

CC=/usr/bin/gcc vagrant plugin install vagrant-rackspace

Intenté NOKOGIRI_USE_SYSTEM_LIBRARIES=1 pero recibí un error que decía que el sistema libxml2 es demasiado viejo.


Estoy en OSX Mavericks y esto funcionó para mí:

Establecer como propiedad del entorno:

NOKOGIRI_USE_SYSTEM_LIBRARIES=1

Luego instálelo como de costumbre:

vagrant plugin install vagrant-rackspace


En mi caso, las carpetas de nokogiri y sus archivos ubicados en ~/vagrant.d/gems/gems tenían derechos incorrectos (usuario / grupo).

Después de cambiarlos a username:staff de username:staff ( username es el nombre de usuario de la consola), funciona como un amuleto.


De manera similar con mi caso, tengo un problema al instalar el complemento vagrant vagrant-omnibus para Vagrant 1.6.3 en OSX Mavericks 10.9.4 y ruby ​​2.0.0p247 rbenv.

Intenté establecer el env NOKOGIRI_USE_SYSTEM_LIBRARIES en 1 o verdadero, luego actualizar + instalar, pero el mismo error sigue ahí.

Descubrí que hay una sugerencia en https://github.com/mitchellh/vagrant/issues/3769 para usar la especificación horneada en la versión de nokogiri y esto funciona para mí. Entonces, también escribí una nota rápida para mí referir este desafortunado problema.



Las soluciones publicadas no funcionaron para mí. En cambio, necesitaba especificar el libxml2, libxslt y libiconv que instalé con homebrew (Haga esto primero) .

Instalé la gema manualmente con el rubí incrustado con la siguiente línea de comando [muy conciso]:

/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