394 votos

ExecJS y no podía encontrar un tiempo de ejecución de JavaScript

Estoy tratando de utilizar el Mongoid / Idear Rails 3.1 plantilla (Mongoid y Diseñar), y me sale un error que indica ExecJS no puede encontrar un tiempo de ejecución de JavaScript. Justo cuando yo no lo tienes instalado, pero he tratado de instalar Node.js, Mustang y el Rubí Racer, pero nada de trabajo.

Yo no podría encontrar un tiempo de ejecución de JavaScript. Ver sstephenson/ExecJS (GitHub) para una lista de tiempos de ejecución (ExecJS::RuntimeUnavailable).

¿Qué tengo que hacer para conseguir este trabajo?

442voto

vincent jacquel Puntos 4456

Sólo tiene que añadir ExecJS y el corredor de Ruby en el archivo de la gema y ejecutar bundle install después.

 gem 'execjs'

gem 'therubyracer'
 

Todo debe estar bien después.

415voto

eldewall Puntos 3096

Los usuarios de Ubuntu

Estoy en Ubuntu 11.04 y tenía problemas similares. Instalación de Node.js arreglaron.

A partir de Ubuntu 13.04 x64 sólo tiene que ejecutar:

 sudo apt-get install nodejs
 

Esto va a resolver el problema.


Los usuarios de CentOS / RedHat

 sudo yum install nodejs
 

76voto

manish nautiyal Puntos 1274

En el archivo de la gema, escribir

 gem 'execjs'
gem 'therubyracer'
 

y luego ejecute

 bundle install
 

Todo funciona muy bien para mí :)

47voto

jwfearn Puntos 8813

He tenido un problema similar: mi aplicación Rails 3.1 funcionaba bien en Windows, pero tengo el mismo error como el OP cuando se ejecuta en Linux. La revisión que trabajó para mí en ambas plataformas, era para agregar el siguiente para mi Gemfile:

gem 'therubyracer', :platforms => :ruby

El truco es saber que :platforms => :ruby significa en realidad sólo el uso de esta gema con "C Ruby (MRI) o de Rubinius, pero NO en Windows."

Otros posibles valores para :platforms son descritos en la bundler página man.

FYI: Windows ha incorporado un motor de JavaScript que execjs puede localizar. En Linux no hay un builtin aunque hay varios disponibles que se puede instalar. therubyracer es uno de ellos. Otros se enumeran en la execjs README.md.

36voto

JDutil Puntos 2501

Agregando la siguiente joya a mi Gemfile resolvió el problema:

 gem 'therubyracer'
 

Entonces ate sus nuevas dependencias:

 $ bundle install
 

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by: