gem therubyracer

gem - error de instalación de therubyracer



(11)

De acuerdo con https://github.com/cowboyd/therubyracer/issues/420#issuecomment-253592865

gem uninstall therubyracer gem uninstall libv8 brew uninstall v8 brew install v8 gem install libv8 gem install therubyracer

Me ayudó. Parámetros: ruby 2.3.3 , rails 4.2.9

Como puede ver a continuación, libv8 se instala bien, pero therubyracer no. Estoy usando Mac 10.7.4.

~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1> gem install libv8 Building native extensions. This could take a while... Successfully installed libv8-3.11.8.3 1 gem installed Installing ri documentation for libv8-3.11.8.3... Installing RDoc documentation for libv8-3.11.8.3... ~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1> gem install therubyracer Building native extensions. This could take a while... ERROR: Error installing therubyracer: ERROR: Failed to build gem native extension. /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb checking for main() in -lobjc... *** 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/rdp/.rvm/rubies/ruby-1.9.3-p125/bin/ruby --with-objclib --without-objclib /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/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/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:461:in `try_link0'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:476:in `try_link'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:619:in `try_func'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:845:in `block in have_library'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:254:in `open'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'' from /Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/mkmf.rb:840:in `have_library'' from extconf.rb:10:in `<main>'' Gem files will remain installed in /Users/rdp/.rvm/gems/ruby-1.9.3-p125/gems/therubyracer-0.10.1 for inspection. Results logged to /Users/rdp/.rvm/gems/ruby-1.9.3-p125/gems/therubyracer-0.10.1/ext/v8/gem_make.out

Aquí está el mkmf.log , que se encuentra en ~/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/gems/1.9/gems/therubyracer-0.10.1/ext/v8> .

Opciones de edición de archivos Buffers Herramientas Ayuda

"/usr/bin/gcc-4.2 -o conftest -I/Users/rdp/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/x86_64-darwin11.3.0 -I/Users/rdp/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1/rub/ y/backward -I/Users/rdp/.rvm/rubies/ruby-1.9.3-p125/include/ruby-1.9.1 -I. -I/Users/rdp/.rvm/usr/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -O3 -ggdb -Wextra -Wno-unused-/ parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wshorten-64-to-32 -Wimplicit-functio/ n-declaration -fno-common -pipe conftest.c -L. -L/Users/rdp/.rvm/rubies/ruby-1.9.3-p125/lib -L/Users/rdp/.rvm/usr/lib -L. -lruby.1.9.1 -lpthread -ldl -lobjc " checked program was: /* begin */ 1: #include "ruby.h" 2: 3: int main() {return 0;} /* end */


En Mavericks, solo necesitas actualizar a therubyracer 0.12.0


En Mountain Lion 10.8, no viene preinstalado con un compilador de C. Tendrá que descargar e instalar el paquete de ''herramientas de línea de comando'' de Apple ellos mismos, y luego ejecutar which gcc para confirmar que está instalado. Todo debería funcionar bien desde allí en adelante.


En OS X 10.7 encontré que el paquete "Herramientas de línea de comandos" no era suficiente, tuve que instalar el paquete completo de XCode, luego funcionó la instalación de gem.


He tenido exactamente el mismo problema hasta ahora.

Este link me salvó

para resumir, necesitas hacer esto:

$ gem uninstall libv8 $ gem install therubyracer

Antes de solucionar este problema, tenía v8 instalado en mi mac. No sé si esto ayudó, ya que parece tener algo que ver con el intérprete js, pensé que podría ser útil.


La solución que funcionó para mí fue unir estos pasos en 10.7.4

export CC=gcc-4.2 sudo ln /usr/bin/gcc /usr/bin/gcc-4.2 gem uninstall libv8 gem install therubyracer


Mac 10.10.5, Ruby 2.1.0 esto funcionó para mí:

gem uninstall libv8 gem uninstall therubyracer brew upgrade gcc brew install v8 bundle config --local build.libv8 --with-cxx=/usr/local/bin/gcc-6 gem install libv8 -v ''3.16.14.17'' -- --with-system-v8 gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315 bundle install # worked !


Para Linux:

El código a continuación es, por supuesto, correcto

$ gem uninstall libv8

$ gem install therubyracer

Pero a veces no ayuda porque no has programado. AL PRINCIPIO necesitas instalar make . Para hacer esto, ejecuta:

sudo apt-get install build-essential

Y solo después de eso:

gem install therubyracer


Para un proyecto anterior, tuve que usar la versión 0.10.1 de Rubyracer en Mavericks (el programa de arranque depende de ello)

Entonces tuve que usar una versión anterior de gcc

  1. edite su .zshrc o .bashrc

    export CC=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/gcc-4.2 export CXX=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/g++-4.2 export CPP=/usr/local/Cellar/apple-gcc42/4.2.1-5666.3/bin/cpp-4.2

  2. asegúrese de haber desinstalado todas las versiones anteriores de libv8

    gem uninstall libv8

  3. instala tu versión de therubyracer

    gem install therubyracer -v=0.10.1


Puede usar el Libv8 de la infusión en lugar del de gema. Puedes hacerlo siguiendo los siguientes comandos:

$ gem uninstall libv8 $ brew install v8 $ gem install therubyracer


Tuve el mismo problema cuando actualicé desde OSX Mountain Lion a OSX Mavericks.

La actualización de ruby-1.8.7-p354 a ruby-1.8.7-375 me gustó. Si está en ruby-1.93-p125, puede intentar actualizar a 1.9.3-rc1 (que ya está por encima de p484)

libv8 (3.16.14.3-x86_64-darwin-13) y las gemas de therubyracer (0.12.0) instaladas sin problemas.

suponiendo que usa rbenv:

rbenv install 1.9.3-rc1 rbenv rehash rbenv shell 1.9.3-rc1 bundle install