Actualicé mi OSX (Lion) a Mavericks y no puedo instalar Nokogiri para mis proyectos.
Ya instalé XCode 5.0.1, Command Line Tools (usando xcode-select --install
), y ya instalé libxml2 de Homebrew y todavía tengo problemas.
El error es:
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.
Instalé libxml2, libxslt y libiconv de Homebrew, y configuré los parámetros para instalar Nokogiri, pero tampoco funcionan.
No encuentro lo que está mal en mi entorno, ¿pueden ayudarme?
Respuestas:
También puede instalar Nokogiri en Mac OS X 10.9 Mavericks con la instalación completa de XCode usando:
Actualizar
Para aquellos que usan Yosemite, el siguiente comando funcionará:
o, en realidad, podría estar en su
MacOSX10.11.sdk
carpeta (la mía era del 18 de septiembre de 2015) de todos modos, por lo que incluso si aún no está completamente a la altura de El Capitan, recientemente actualicé XCode y es posible que deba usar El Capitan SDK ruta, que sigue a continuación:Actualizar
Para aquellos que usan El Capitan, el siguiente comando funcionará:
Actualizar
Para aquellos que usan Sierra, el siguiente comando funcionará:
fuente
--use-system-libraries
para que esto funcione: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
Después de navegar por los GIF animados aquí , todo lo que tuve que hacer fue simplemente
xcode-select --install
ygem install nokogiri
funcionó bien.fuente
Encontré este registro y vi que no se encontró gcc-4.2:
Para resolver este problema, instalé apple-gcc42 usando homebrew
brew install apple-gcc42
y creé un enlace simbólico a mi / usr / bin:sudo ln -s /usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 /usr/bin/gcc-4.2
fuente
brew install apple-gcc42
... y simplemente funciona. ¿Ese comando no funciona para ti?xcode-select --install
antes de la instalación de la preparación y todo funciona ahora.Si está ejecutando Xcode 5.1, las herramientas de línea de comandos no funcionan para nokogiri 1.6.1. Deberá descargar las herramientas de finales de octubre de 2013 de Apple . Una vez que hagas eso, corre
para configurar su máquina para usar las herramientas de línea de comando Xcode 5.0.X, luego ejecute
Si desea restablecer sus herramientas de línea de comando a la versión Xcode.app, luego ejecute
O otra cosa que puede hacer es agregar la bandera para ignorar los argumentos desconocidos de la línea de comandos. Entonces la instalación se ve así:
fuente
Esto es lo que funcionó para mí en OSX Mavericks:
fuente
sudo
con RVM o rbenv causará problemas ya que el root no sabe dónde viven los Rubies en la zona de pruebas. Esto se trata en la página de instalación de RVM . El OP está usando RVM, y el usosudo
haría que Nokogiri se instale en Ruby de Apple, no en el del usuario. Por lo tanto, no haga esto a menos que esté SEGURO de que desea instalar Ruby de Apple si está en Mac OS, o en el sistema Ruby si está en otro * nix.Estoy en OSX Mavericks y mi problema resultó ser una mala instalación de Ruby.
Entonces, reinstalé ruby con rvm:
Entonces pude
Problema resuelto.
fuente
Normalmente me gusta quedarme con las cosas proporcionadas por el sistema. Esto funcionó para mí:
fuente
Me encontré con este problema inmediatamente después de instalar la actualización de Mavericks 10.9.5 y la actualización de las herramientas de desarrollador 10.9 de Apple. Corrí
xcode-select --install
, pero eso no solucionó el problema. Luego abrí XCode, acepté la eula y salí de XCode. Eso solucionó el problema.fuente
Tuve este problema hoy, en Maverick, así es como terminé resolviendo el problema:
Asegúrese de saber que la versión de libiconv en Cellar mine a continuación es 1.14, luego instálela de la siguiente manera:
Si necesita una versión particular de nokogiri, por ejemplo, -v '1.6.2.1', instálela como:
¡Nokogiri se instaló con éxito!
fuente
Esta es la misma que la publicación de @ thomas_witt pero funciona en Mac OS X Sierra:
fuente
Para que la instalación funcione, tuve que modificar las rutas de archivo en el
gem install
comando para que coincidieran con las de mi sistema. Tengo diferentes versiones de libxml2 y libiconv y una estructura de archivos ligeramente diferente. El comando, con mis modificaciones, es:fuente
Para las personas que usan MacPorts , asegúrese de haber instalado a
libxml2
través deMacPorts
. Luego escriba:Esto debería funcionar, funcionó para mí sin usar rutas completas.
fuente
Úselo
brew install libxml2 libxslt
si usa Homebrew.fuente
Aquí hay otra referencia:
Recibí un error al instalar nokogiri
error como este:
Primero debe instalar las herramientas de desarrollo.
entonces probablemente necesite:
o si tienes un error como
Solo arreglo la ruta de la biblioteca por:
para el paquete necesita algo como:
fuente
Esto funciona para mi
Solo ejecuta debajo de dos comandos
Le pedirá que descargue y diga "sí" y luego le pedirá que instale el componente xcode, haga clic en instalar.
Ahora intente instalar gema con el siguiente comando
Esto funciona para mí con el entorno anterior.
fuente
Me encontré con el mismo problema para Mavrick, y la solución fue:
Sin embargo, eso no funciona ya que la página de descarga de Apple para la herramienta de línea de comandos no tiene ese instalador disponible públicamente ahora.
Entonces, si desea tener las herramientas de línea de comandos para Mavricks, debe tener una cuenta paga . Entonces solo tú podrás instalarlo. Una vez que lo instale, no enfrentará este problema con Nokogiri.
fuente
Tuve este mismo error en una instalación nueva de Mavericks. Después de tener un lapso de juicio, cambié el nombre de mi paquete de aplicaciones Xcode a
Xcode 5.0.1.app
.Aparentemente, el script de instalación de Nokogiri no cita sus rutas y, por lo tanto, el espacio en el nombre del archivo causó todo tipo de problemas. No fue hasta que lo intenté
brew install libxml2
que el error se volvió obvio.Lección aprendida: los espacios en los nombres de los archivos son malos.
fuente
En mi caso, tuve que ejecutar /usr/bin/gcc-4.2 después de simularlo. Debe aceptar el acuerdo de licencia, de lo contrario, se bloquea.
fuente
El mensaje de error da una pista aquí:
The compiler failed to generate an executable file. (RuntimeError)
También es posible que deba preparar la instalación y vincular estos:
fuente
fuente
Para mí, el error fue que gcc (4.2.1, instalado desde Homebrew) se quejaba de que:
Resolví el problema forzando solo x86_64:
fuente
Después de actualizar a Maverick, tuve un problema similar. Utilizo RVM con Ruby 1.9.2-p320, y probé varias soluciones que se dan aquí, pero nada resolvió el problema.
Luego cambié a Ruby 2.1.2 e
bundle install
instalé Nokogiri inmediatamente.fuente
Si alguien tiene este problema en el capitan, mientras usa bundler.
Asegúrese de que las herramientas de línea de comandos de xcode estén instaladas y ejecute esto:
fuente
Me enfrentaba al mismo problema de las últimas dos semanas mientras intentaba ejecutar una aplicación de la versión Rails 3.
El problema es que su rvm / rbenv no está usando el compilador de C.
Use este comando para que rvm tome un compilador C compatible
Entonces, si está usando Ruby 1.9.3, utilícelo de esta manera
Utilice este comando cada vez que no pueda agrupar la instalación ni nada. Esto funciona en El Capitan, rails 3.2.16, ruby 1.9.3, mysql 5.7 Con suerte, resolverá el problema.
Me enfrentaba al mismo problema de las últimas dos semanas mientras intentaba ejecutar una aplicación de la versión Rails 3.
El problema es que su rvm / rbenv no está usando el compilador de C.
Use este comando para que rvm tome un compilador C compatible
Entonces, si está usando Ruby 1.9.3, utilícelo de esta manera
Utilice este comando cada vez que no pueda agrupar la instalación ni nada.
Esto funciona en El Capitan, rails 3.2.16, ruby 1.9.3, mysql 5.7 Con suerte, resolverá el problema. Y además, si ya tiene el Xcode y no está recibiendo los mismos errores al instalar ninguna gema, pruebe esta solución.
fuente
Agregué mis hallazgos aquí después de encontrarme con este mismo problema poco después de una actualización: http://jasdeep.ca/2013/10/installing-nokogiri-fails-os-x-mavericks/
La solución simplemente son estos 2 comandos:
Espero eso ayude.
fuente
Yo también tuve este problema. La ejecución
brew doctor
mostró que tenía una versión inesperada de libiconv en / user / local / lib.Así que los eliminé y volví a preparar libxml:
Finalmente, instalé nokogiri:
fuente
Ninguna de estas respuestas funcionó para mi caso particular, y como soy un novato, pensé que mi solución podría ayudar a otra persona.
Estoy usando Yosemite y estaba usando Ruby 1.9.3p547. Hubo una exposición de seguridad para p547, así que estaba intentando actualizar a Ruby 1.9.3p550 o superior. Usé RVM, luego intenté migrar mis gemas y muchas de ellas no funcionaron. Luego traté de agrupar la instalación, pero eso estaba fallando y pensé que tal vez era un conflicto entre las diversas rutas y dependencias, así que eliminé la versión anterior de Ruby. Esto rompió todo.
Seguí recibiendo un mensaje que decía que faltaba el compilador de C, a pesar de que había descargado XCode y había actualizado recientemente las herramientas CLI. Encontré otro sitio web que me dijo que descargara un GCC de terceros, lo cual hice. lo que empeoró todo.
Ahora recibo un mensaje que dice que necesito arreglar mis perfiles y PATH o podría ser más fácil reinstalar OSX. Así que lo hice.
De todos modos, una historia más larga simplemente larga: la solución que finalmente funcionó para mí fue deshacerme de RVM y simplemente usar brew para descargar la versión de Ruby que quería antes de ejecutarla
bundle install
. Instale la versión correcta de Nokogiri PRIMERO.fuente
sudo
hará que Nokogiri se instale en el único Ruby conocido por root, que es muy probable que sea el Ruby instalado por Apple a menos que use Homebrew. Debido a que el OP estaba usando RVM, eso significa que Nokogiri no sería visto por un Ruby administrado por RVM, y solo agravaría el problema. El usosudo
podría haber funcionado en este caso, pero no debería intentarse con un Ruby administrado por RVM o rbenv. RVM dice específicamente que no lo haga en la documentación de instalación .para Windows, también puede probar la instalación local:
descargue la gema adecuada según su entorno.
vaya al directorio donde guardó el archivo gema.
gem install --local nokogiri-1.6.3.1-x86-mingw32.gem
si no funcionó, puede verificar si tiene instalado zlib y mingw o el compilador c adecuado.
fuente
Cada maldita cosa aquí no lo hizo por mí (no entré en las reinstalaciones de brebaje, oy), pero esto finalmente lo hizo (encontrado a través de un informe de error en algún proyecto no relacionado):
Buena suerte. ¡Hurra por #yakshaving!
fuente
Verifique su versión de herramientas de la línea de comandos. Configure su máquina para usar las herramientas de línea de comando Xcode 5.0.X, luego ejecute:
fuente