ruby on rails - mac - Error al instalar Nokogiri(1.6.7) en El Capitán
rvm install rails (8)
Actualizar Xcode y las herramientas de línea de comandos corrigió todos los errores para mí. Después de eso pude instalar Nokogiri con la gema de instalar nokogiri y luego la gema de instalar los rieles funcionó bien.
Uno de mis desarrolladores ha actualizado Nokogiri, y al extraer el archivo Gemfile actualizado, la bundle install
mi bundle install
falla.
➜ my-project git:(master) bundle install
Fetching source index from https://rubygems.org/
Using rake 10.4.2
Using i18n 0.7.0
Using json 1.8.3
Using minitest 5.8.3
Using thread_safe 0.3.5
Using tzinfo 1.2.2
Using activesupport 4.2.3
Using builder 3.2.2
Using erubis 2.7.0
Using mini_portile2 2.0.0
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/Users/me/.rvm/rubies/ruby-2.1.2/bin/ruby extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** 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
--without-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/me/.rvm/rubies/ruby-2.1.2/bin/ruby
--help
--clean
--use-system-libraries
--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-xml2-dir
--without-xml2-dir
--with-xml2-include
--without-xml2-include=${xml2-dir}/include
--with-xml2-lib
--without-xml2-lib=${xml2-dir}/lib
--with-libxml-2.0-config
--without-libxml-2.0-config
--with-pkg-config
--without-pkg-config
--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-exslt-dir
--without-exslt-dir
--with-exslt-include
--without-exslt-include=${exslt-dir}/include
--with-exslt-lib
--without-exslt-lib=${exslt-dir}/lib
--with-libexslt-config
--without-libexslt-config
extconf failed, exit code 1
Gem files will remain installed in /Users/me/.rvm/gems/ruby-2.1.2@my-project/gems/nokogiri-1.6.7 for inspection.
Results logged to /Users/me/.rvm/gems/ruby-2.1.2@my-project/extensions/x86_64-darwin-13/2.1.0-static/nokogiri-1.6.7/gem_make.out
An error occurred while installing nokogiri (1.6.7), and Bundler cannot continue.
Make sure that `gem install nokogiri -v ''1.6.7''` succeeds before bundling.
Como se sugirió en " No instalar la gema Nokogiri ", he intentado ejecutarlo sin éxito:
bundle config build.nokogiri --use-system-libraries
bundle install
Como se sugirió en " No instalar la gema Nokogiri ", también probé:
gem install nokogiri -- --use-system-libraries
y:
gem install nokogiri -v 1.6.5 -- --use-system-libraries
Mi versión del sistema operativo es El Capitan 10.11.2, y he comprobado que el acuerdo de licencia de Xcode ha sido aceptado.
¿Alguna idea de cómo lograr que la instalación de Nokogiri tenga éxito?
Agregue gem "nokogiri", ">= 1.6.7.rc3"
en su Gemfile
y luego correr
bundle install
Gracias por publicar esto! Finalmente conseguí que nokogirl se ejecutara correctamente con la bundle install
para mi aplicación después de ejecutar lo siguiente:
bundle config build.nokogiri --use-system-libraries
Los siguientes pasos me han funcionado.
ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
Run the following to install RVM and the latest stable version of Ruby:
/curl -L https://get.rvm.io | bash -s stable --ruby
Install the Ruby interpreter:
rvm install 2.1.0 --autolibs=enable
After that''s finished installing, run:
source /Users/{your_user_name}/.rvm/scripts/rvm
Run:
ruby -v
ruby 2.1.0p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
==> sudo gem install bundler
Fetching: bundler-1.14.6.gem (100%)
Successfully installed bundler-1.14.6
Parsing documentation for bundler-1.14.6
Installing ri documentation for bundler-1.14.6
Done installing documentation for bundler after 4 seconds
1 gem installed
Primero debe instalar xcode-select
paquetes de xcode-select
, luego intente instalar nokogiri nuevamente. Prueba estos comandos,
xcode-select --install
entonces intenta
gem install nokogiri
Con cualquier versión de Nokogiri que quieras.
Nokogiri depende de múltiples bibliotecas como libxslt, libxml y zlib. Las versiones de desarrollo (incluida la fuente) de estas deben instalarse antes de instalar Nokogiri en cualquier distribución de Linux. Para OS X, el comando anterior debería funcionar, supongo.
La solución real está en los comentarios a continuación.
Prueba esto :
gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/
Y luego correr
bundle update
Espero que esto pueda ayudarte :)
Si está utilizando homebrew para mantener bibliotecas como libml en su mac, el siguiente comando en su mac podría ayudar:
gem install nokogiri -v ''1.6.8'' -- --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/
solo asegúrate de que la ruta para libxml sea la misma que la mía, a menos que Brew cambie con la próxima versión. Puedes verificar esto ejecutando el siguiente comando:
brew info libxml2
intentar:
apt-get install ruby-nokogiri
bundle install