rails - ¿Cómo instalar la gema de therubyracer en 10.10 Yosemite?
ruby on rails download (16)
Después de horas de intentar simplemente actualizar ruby funcionó:
brew install ruby
y luego agregando lo siguiente al archivo gem:
gem ''libv8''
gem ''therubyracer''
No logro instalar la gema de therubyracer en Yosemite 10.10.
Aquí está el registro:
11:53 $ gem install libv8 -v ''3.16.14.3'' -- --with-system-v8 Building native extensions with: ''--with-system-v8'' This could take a while... Successfully installed libv8-3.16.14.3 Parsing documentation for libv8-3.16.14.3 Installing ri documentation for libv8-3.16.14.3 Done installing documentation for libv8 after 0 seconds 1 gem installed 02:05 $ gem install therubyracer -v ''0.12.1'' -- --with-system-v8 Building native extensions with: ''--with-system-v8'' This could take a while... ERROR: Error installing therubyracer: ERROR: Failed to build gem native extension. /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8 checking for main() in -lpthread... yes checking for main() in -lobjc... yes checking for v8.h... no *** 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=/usr/local/var/rbenv/versions/2.1.2/bin/ruby --with-pthreadlib --without-pthreadlib --with-objclib --without-objclib --enable-debug --disable-debug --with-v8-dir --without-v8-dir --with-v8-include --without-v8-include=${v8-dir}/include --with-v8-lib --without-v8-lib=${v8-dir}/lib /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in `configure'': You have chosen to use the version of V8 found on your system (Libv8::Location::System::NotFoundError) and *not* the one that is bundle with the libv8 rubygem. However, it could not be located. please make sure you have a version of v8 that is compatible with 3.16.14.3 installed. You may need to special --with-v8-dir options if it is in a non-standard location thanks, The Mgmt from /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:in `configure_makefile'' from extconf.rb:32:in `'' extconf failed, exit code 1 Gem files will remain installed in /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 for inspection. Results logged to /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86_64-darwin-14/2.1.0-static/therubyracer-0.12.1/gem_make.out
Esto funcionó muy bien para mí en mi Yosemite y Ruby 2.1.5 (Ruby a través de RVM)
gem install libv8 -v ''3.16.14.3'' -- --with-system-v8
Anteriormente me estaba dando error Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
para libv8 gem versión 3.16.14.3
Han corregido este problema en la versión más reciente de libv8. Ver: https://github.com/cowboyd/libv8/issues/123
Deberías instalar desde el repositorio github, en los rieles agregué una línea a mi archivo gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
como esta gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true
EDITAR:
Esto aparentemente solo resuelve parte del problema. Instalé la nueva versión de libv8, ¿pero ahora el rubyracer todavía está buscando el otro, creo? Todavía lo estoy buscando.
Hice lo siguiente
gem install therubyracer
que ahora instala therubyracer 0.12.1
que instala la dependencia libv8 (3.16.14.7 x86_64-darwin-14)
que se instaló sin errores.
Hice esto usando ruby 2.1.5
que instalé a través de:
CC=/usr/bin/gcc rbenv install 2.1.5
lo cual hice después de ejecutar brew upgrade ruby-builds
.
Después de instalar ruby 2.1.5
, también corrí
gem upgrade --system
para obtener rubygems-update 2.4.5
Lo que funcionó para mí, basado en el siguiente comentario,
https://github.com/cowboyd/therubyracer/issues/304#issuecomment-62046085
era eliminar Gemfile.lock y luego ejecutar bundle install
Ninguna de las respuestas funciona para mí esta vez. Yo también he usado esto:
brew tap homebrew/versions
brew install v8-315
gem install libv8 -v ''3.16.14.13'' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315
bundle install
Visto en el rubyracer Github emite.
Espero que ayude a alguien más.
Parece que esto ha sido arreglado aguas arriba. Lo que funcionó para mí y @aurels y @Mike Causer y @Juanda fue:
bundle update libv8
Pude continuar con Ruby rm Gemfile.lock
después de rm Gemfile.lock
de antemano: instalé v8 vía brew install v8
, y luego gem install libv8 -v ''3.16.14.3'' -- --with-system-v8
y estoy corriendo 10.10 Yosemite
Respuesta actualizada para 2018.
Estoy en High Sierra, en Homebrew 1.6.1
brew install v8-315
gem install libv8 -v ''3.16.14.13'' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/[email protected]/
Es lo que funcionó para mí
El crédito va a @ coding-addicted por su respuesta original .
Solo esto funciona para mí en mi Yosemite, Ruby 2.1.2:
gem install libv8 -v ''3.16.14.3'' -- --with-system-v8
brew link --overwrite v8-315 --force
gem install therubyracer -v ''0.12.2'' -- --with-system-v8
Tal vez sea útil para alguien pero tuve problemas para instalar therubyracer (debido a los problemas con libv8) la solución fue desinstalar todo el libv8 que había instalado. Instalar therubyracer
$ gem uninstall libv8
$ gem install therubyracer -v ''0.12.0''
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem ( 57%)
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem (100%)
Successfully installed libv8-3.16.14.7-x86_64-darwin-14
Building native extensions. This could take a while...
Successfully installed therubyracer-0.12.0
2 gems installed
Espero que esto ayude a alguien.
Tuve el mismo problema en Yosemite. Mi solución es similar a lo que aparece arriba.
Utilice gem uninstall libv8
para eliminar todo lo que pueda estar instalado.
Deje therubyracer en su Gemfile, pero elimine cualquier referencia explícita a libv8.
Ejecute la bundle install
.
libv8 luego se instaló bien como una dependencia.
Una advertencia a cualquiera que podría haber tenido mi problema: terminé desinstalando mi versión de ruby en RVM y luego reinstalándola. Eso parecía usar las dependencias correctas en la última versión de las herramientas xcode para compilar Ruby.
rvm list
rvm uninstall ruby-x.x.x
rvm install ruby-x.x.x
esto sucede debido a algunos conflictos con el libv8 también, aunque solo puede asignar una versión al rubyracer y se instalará:
cambie lo siguiente en el archivo gem:
gema ''therubyracer'', ''~> 0.12.1''
y haz la instalación del paquete
gem uninstall libv8
brew install v8
gem install therubyracer
gem install libv8 -v ''3.16.14.3'' -- --with-system-v8
esta es la única forma en que funcionó para mí en 10.10 (ruby 2.1.2)
O prueba la gem install libv8 -v ''XX.XX.XX'' -- --with-system-v8
añadiendo la versión de la gema :)
git clone https://github.com/cowboyd/libv8.git
cd libv8
bundle install
bundle exec rake clean build binary
gem install pkg/libv8-3.16.14.3-x86_64-darwin-12.gem #note that libv8 version may change, so tab through files in pkg/, also remember to use the one with version specified
entonces solo empaca tus gemas de proyecto
esta es la única forma en que funcionó para mí en 10.10 (ruby 2.1.2)