Estoy tratando de instalar libv8 3.16.14.3 pero obtengo un error en OSX Mavericks usando el último rvm estable y ruby-1.9.3-p125.
Este es el resultado de ejecutar el comando 'gem install libv8':
~/src(branch:master) » gem install libv8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing therubyracer:
ERROR: Failed to build gem native extension.
/Users/me/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.5
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make[1]: *** [/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a] Error 1
make: *** [x64.release] Error 2
/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `each'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `verify_installation!'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:26:in `install!'
from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=x64 \
-S.x64 -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
LIBTOOL-STATIC /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a
Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3 for inspection.
Results logged to /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/gem_make.out
fuente
--with-system-v8
FTW!bundle config build.libv8 --with-system-v8
ayuda!bundle update
me sacó del reino de la insensibilidad y las miserias infligidas por la actualización de la manzanatherubyracer
gema después de resolver este problema: stackoverflow.com/questions/23536893/…De hecho, puede instalar esa versión en Mavericks:
Puedo confirmar que esto funciona con rbenv y ruby 1.9.3p448
fuente
gem install libv8 -- --with-system-v8
El Capitan Solution para mi:
Dónde estaba
REQUIRED_LIBV8_VERSION
para mí3.16.14.7
, pero debe verificar cuál es el que necesita en su paquete (este fue el de los rieles4.2.5
)También es posible que deba ejecutar los comandos anteriores como superusuario (si sus gemas y bibliotecas del sistema son globales)
fuente
Cuando probé la respuesta aceptada, libv8 se instaló con éxito
gem install libv8
, perobundle install
falló en libv8. Creo quebundle install
estaba tratando de instalar una versión diferente de libv8. Pude encontrar una solución que funcionó para mí.Necesitaba libv8 porque therubyracer depende de ello. Para que se instale, noté la versión que no se pudo instalar en el
gem_make.out
registro de therubyracer. (La ruta para elgem_make.out
registro estará en el mensaje de error). En mi caso, era 3.16.14.7. (Esta versión probablemente cambiará con el tiempo, en caso de que esté leyendo esto dentro de tres años). Luego hice esto:gem install libv8 -v 3.16.14.7 -- --with-v8-lib
<- observe una bandera diferente de la respuesta aceptadalo que permitió que esto funcionara:
gem install therubyracer
lo que me permitió completar mi
bundle install
.Esto funcionó para mí en OSX Yosemite.
fuente
https://github.com/cowboyd/therubyracer/issues/339
La solución de jasonlynes encontrada en ese enlace me sirvió. cualquier otra cosa no funcionó.
fuente
Puede configurar el paquete en lugar de tener que conocer cada versión. @ 3.15 podría reemplazarse con otras versiones.
fuente
Actualicé a macOS Catalina @ 10.15 y
ruby 2.6.5
. Después de un tiempo consiguiólibv8
etherubyracer
instalar nuevamente, aunque recomendaría no actualizar macOS todavía (escuché queruby
debería estar bien).Primero, tuve que actualizar XCode
xcode-select --install
He utilizado
rbenv
para la actualizaciónruby
y ajuste suruby
versión manualmente en/Users/<username>/.rbenv/version
a2.6.5
. Aunque esto no debería importar si su proyecto contiene un.ruby-version
archivo.Luego limpié cualquier versión que he instalado lado a otro
libv8
(por lo general en/usr/local/opt/
):brew uninstall v8
,brew uninstall [email protected]
brew install [email protected]
Ahora, siguiendo https://github.com/cowboyd/libv8#do-i-get-a-binary , instalé
gem install libv8 -v '3.16.14.19' -- --with-system-v8
y luego podría ejecutarse
bundle install
sin errores.fuente
Mi problema es desde entonces
therubyracer
, cuando actualizomacOS 10.15
yruby-2.6.5
Y lo siguiente funciona para mí:
fuente
Pruebe con lo que resumí en esta pregunta: "gem install therubyracer -v '0.10.2'" en osx mavericks que no se instalan
Funcionó para mí (OS X Mavericks)
fuente
Tuve el mismo problema cuando actualicé de OSX Mountain Lion a OSX Mavericks. La respuesta aceptada funcionó para libv8, pero no cuando fui a instalar la gema therubyracer.
La actualización de ruby-1.8.7-p354 a ruby-1.8.7-375 hizo el truco para mí. libv8 (3.16.14.3-x86_64-darwin-13) y las gemas therubyracer (0.12.0) instaladas sin problema.
suponiendo que use rbenv:
fuente
Esto funcionó bien para mi:
Intenta instalar esta gema precompilada:
https://dl.dropboxusercontent.com/u/7919548/gems/libv8/libv8-3.11.8.17-x86_64-darwin-13.gem (sha1: 5ce07aaf4085fff5a5e10fe018fd6b22021bef3b)
O si prefieres construir el tuyo:
Fuente: https://github.com/cowboyd/libv8/issues/107
¡Gracias a Felix Bünemann por la solución!
fuente
Intenté una serie de soluciones descritas en respuestas anteriores, pero descubrí que ejecutar bundle (para instalar otras gemas faltantes) intentaría volver a compilar libv8 (a pesar de haberlo instalado correctamente usando
--with-system-v8
) y sufrir el mismo problema.Finalmente, descubrí que eliminar la gema libv8, recuperar el archivo de gema de rubygems y luego instalar manualmente el
.gem
archivo con el--with-system-v8
bandera funcionó para mí.es decir
¡Gracias a la respuesta de Gaurav Agarwal por guiarme por el camino correcto!
fuente
Nada de esto me ayudó ... no importa lo que hice, mi instalación de gemas de therubyracer seguía quejándose con este error:
Lo que finalmente me ayudó fue este otro foro con el que me topé en https://www.bountysource.com/issues/82833405-libv8-fails-to-build-on-catalina-10-15
La solución final que funcionó para mí:
Tuve que agregar estas líneas a mi archivo .zshrc:
Luego tuve que ejecutar estos comandos:
¡Espero que alguien más encuentre esto útil!
fuente
Puede intentar compilar e instalar manualmente la gema mediante el método mencionado en el sitio libv8 github.
fuente
En MAC-Yosemite con entorno RVM y versión ruby-2.1.1
gem install libv8 -v 3.16.14.3 -- --with-v8-lib gem install therubyracer
Funciona con la ayuda del comando anterior, puede confirmar esto.
fuente
Lo que realmente funcionó para mí fue actualizar Ruby a 2.2.0, eliminar Gemfile.lock y agruparlo nuevamente.
¡Trabajado como un encanto!
fuente
Esto es lo que funcionó para mí.
Reemplace
3.16.14.7
con su versión.fuente
Me he enfrentado a un problema similar en El Cap. Esto es lo que hice.
Y entonces,
Finalmente,
fuente
Estaba usando una versión beta de Xcode para otro proyecto y lo había olvidado. Cambiar de nuevo con
xcode-select
. Algo como:fuente
Eliminar de Gemfile:
gema 'therubyracer',: plataformas =>: rubí
fuente