sierra rails mac instalar desde ruby gem bundler nokogiri homebrew

ruby - rails - Instalación de Nokogiri en OSX 10.10 Yosemite



ruby 2.4 mac (23)

Recientemente actualicé a la versión 10.10 de Yosemite beta, pero estoy teniendo problemas para instalar Nokogiri. Estoy usando RVM y Ruby 1.9.3. También seguí los pasos here e intenté seguir las instrucciones en la página principal de Nokogiri.

He instalado libxml2 (2.9.1) y libxslt (1.1.28) a través de homebrew, y he intentado utilizar las herramientas de línea de comandos de mi instalación Xcode 5 y Xcode 6 beta.

gem install nokogiri -v ''1.5.5'' Building native extensions. This could take a while... ERROR: Error installing nokogiri: ERROR: Failed to build gem native extension. /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/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/grantdavis/.rvm/rubies/ruby-1.9.3-p362/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/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:381:in `try_do'': The compiler failed to generate an executable file. (RuntimeError) You have to install development tools first. from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:970:in `block in find_header'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:254:in `open'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:254:in `open'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'' from /Users/grantdavis/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb:969:in `find_header'' from extconf.rb:114:in `<main>''

¿Alguien tiene una idea sobre cómo solucionar estos errores de instalación?

EDITAR 10/10/14: Después de intentar durante un par de días obtener Nokogiri instalado en OSX 10.10, terminé abandonando la tarea y restauré 10.9 en mi máquina. Es necesario actualizar varias bibliotecas y paquetes para trabajar en el entorno 10.10.


(respuesta completa aquí https://gist.github.com/chrisb/4d6a09c6cc1ca2e1b14e )

Parece que Homebrew de alguna manera depende de que Ruby esté en Versions / 1.8 (aunque incluso Mavericks incluye 2.0). Hasta que Homebrew resuelva esto, enlazaremos simbólicamente la versión de nuestro sistema de Ruby con la que busca Homebrew.

Crea la carpeta:

sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin

Luego, haz un enlace simbólico al binario:

sudo ln -s /usr/bin/ruby /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby


Creo que el problema está relacionado con el sistema que no se encuentra Ruby o que se instalan varios Rubies.

  • ¿Usas RVM para administrar rubíes?
  • ¿Cuál es la salida de ruby -v ?

Esos deberían ser el punto de partida para encontrar una solución.

El error del bad interpreter incorrecto está relacionado con un problema con la instalación de Ruby.

Idealmente, debe comenzar con el sistema Ruby, el que se envía con Xcode. Entonces, desinstalarías Xcode completamente usando:

http://osxdaily.com/2012/02/20/uninstall-xcode/

Desinstale brew , rvm y rvm instalarlos.


En mi caso, el mensaje de error se escribió debajo y la solución correspondiente también.

Mensaje de error:

... libxml2 is missing. Please locate mkmf.log to investigate how it is failing. ...

Solución:

gem install nokogiri -- --use-system-libraries --with-libxml2lib=/usr/local/opt/libxml2/lib/libxml2.a

Le di directamente el camino de la biblioteca de libxml2.a


Esto finalmente funcionó para mí:

sudo gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/


Esto funcionó para mí:

$ brew install libxml2 libxslt # optional? $ brew install libiconv # optional? $ gem install nokogiri -v 1.6.8 -- --use-system-libraries --with-xml2-include=/usr/local/opt/libxml2

en un entorno como este:

$ sw_vers -productVersion 10.9.4 $ brew -v Homebrew 0.9.9 (git revision aa747; last commit 2016-05-26) $ gem env RubyGems Environment: - RUBYGEMS VERSION: 2.0.14 - RUBY VERSION: 2.0.0 (2014-02-24 patchlevel 451) [universal.x86_64-darwin13]


Esto funcionó para mí:

ARCHFLAGS="-arch x86_64" gem install nokogiri -v ''1.6.0''


Esto funcionó:

gem install nokogiri -- --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2 --use-system-libraries

Source


Instala el Xcode completo. Era lo único que funcionaba para mí en las viejas versiones de Nokogiri.


Las instrucciones del sitio web de Nokogiri me funcionaron tanto en OSX 10.9 como en 10.10.

brew unlink gcc-4.2 # you might not need this step gem uninstall nokogiri xcode-select --install gem install nokogiri


Lo único que funcionó para mí fue actualizar el compilador de apple-gcc42 a gcc48:

brew uninstall apple-gcc42 brew install gcc48 # this might take an hour or so rvm implode /curl -sSL https://get.rvm.io | bash -s stable # reinstall RVM rvm install ruby-1.9.3-p551 bundle update libv8 # 3.16.14.3 doesn''t work but 3.16.14.7 does bundle


Logré instalar Nokogiri bajo Yosemite (Vista previa de OS X 10.10).

Paso 1: Instalar Brew

Omita esto si se instaló cerveza.

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Paso 2: instala brew libs

brew tap homebrew/dupes brew install libxml2 libxslt brew install libiconv

Paso 3: Descargue e instale Apple Commandline Tools para 10.10

Es importante que deba reiniciar después de la instalación.

Enlace: command_line_tools_for_osx_10_10_june_2014.dmg

Después de reiniciar, puede verificar la instalación en la Terminal:

> xcode-select --install -> xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Este error significa que tiene la herramienta de línea de comandos instalada correctamente.

Instalando Nokogiri

Intente utilizar la versión anterior 1.6.1 en su Gemfile; la versión 1.6.2.1 tiene problemas actualmente con "10.10 Preview". Solo funciona con mi rbenv Ruby 2.0.0p247, no se pudo instalar en 2.1.1. Puedes darle un par de intentos a tus versiones actuales de Ruby.

gem install nokogiri -v ''1.6.1'' -- --with-iconv-dir=/usr/local/Cellar/libiconv/1.14/


Para Mac OS El Capitan:

gem install nokogiri -v ''1.6.7.1'' -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/include/libxml2


Para cualquier otra persona que no haya podido hacer que esto funcione en El Capitán, lo que finalmente funcionó para mí fue:

sudo gem install nokogiri -- --use-system-libraries --with-xslt-dir=/usr/local/opt/libxslt --with-iconv-dir=/usr/local/opt/libiconv --with-xml2-dir=/usr/local/opt/libxml2 --with-xml2-config=/usr/local/opt/libxml2/bin/xml2-config --with-xml2-include=/usr/local/opt/libxml2/include/libxml2 --with-xslt-config=/usr/local/opt/libxslt/bin/xslt-config

No tengo macports instalados, y mi sistema es un raro hodge-podge. Forzar instalaciones específicas para cada dependencia es la única forma en que puedo hacer que Nokogiri compile. Súper molesto, pero al menos funciona.


Para mí cambiar a Xcode 5 en lugar de utilizar la herramienta CLI de Xcode 6:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/



Recibí el mismo mensaje de error en OS X Yosemite versión 10.10.5

Recientemente realicé varias actualizaciones del sistema operativo y resultó que solo tenía que aceptar el nuevo acuerdo de licencia de xcode con el siguiente comando:

sudo xcodebuild -license


Sólo inténtalo:

xcode-select --install


Si está utilizando OS X 10.10 y MacPorts, también debe instalar pkgconfig:

sudo port install pkgconfig libxml2 libxslt libiconv

Además, si desea utilizar las bibliotecas de MacPorts de forma automática sin agregar opciones de configuración, deberá agregar esto a su perfil o .bashrc:

export PATH=/opt/local/bin:/opt/local/sbin:$PATH export MANPATH=/opt/local/share/man:$MANPATH export LDFLAGS="-L/opt/local/lib" export CPPFLAGS="-I/opt/local/include"

Y también es posible que desee agregar esto para decirle a Nokogiri que siempre use las bibliotecas de su sistema:

export NOKOGIRI_USE_SYSTEM_LIBRARIES=Y

Reinicie la terminal después de agregar todas estas exportaciones.

Usando esta configuración puedes instalar Nokogiri usando:

gem install nokogiri



Tuve el mismo problema con MacPorts ruby2.1:

can not gem install nokogiri on osx10.10 with macports ruby2.1

La instalación comienza, la CPU va al 50% en un solo núcleo al 100%, luego la CPU cae a casi cero, pero el iostat tps atraviesa la pared.

Esto ayudó:

# port install libiconv libxslt libxml2 # gem install nokogiri -- --use-system-libraries --with-iconv-dir=/opt/local --with-xml2-dir=/opt/local --with-xslt-dir=/opt/local


libxml2 - 1.6.6.2 en Yosemite:

sudo env ARCHFLAGS="-arch x86_64" gem install nokogiri -- --use-system-libraries -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.2/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.2/lib --with-xslt-lib=/usr/local/lib --with-xslt-include=/usr/local/include



sudo gem update --system sudo gem install nokogiri -v ''1.6.6.2'' -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib