2012-03-13 20 views
19

Tengo una aplicación de rieles, y quiero forzar execjs al usuario Node.js como el tiempo de ejecución de JavaScript. ¿Cómo puedo comprobar qué ejecutables Execjs está utilizando?¿Cómo obligo a execjs a usar Node.js?

Gracias.

Respuesta

23

Descubrí cómo configurar el tiempo de ejecución de JavaScript. En config/boot.rb puse la siguiente línea: ENV['EXECJS_RUNTIME'] = 'Node'

+4

La mejor opción es establecer la variable de env del shell 'EXECJS_RUNTIME'. – Hauleth

+0

Hey @ ŁukaszNiemier, ¿Cuál es el valor que tiene que asignarse a EXECJS_RUNTIME? Utilicé ** "exportar EXECJS_RUNTIME =/opt/node-v4.4.5-linux-x64/bin" **. Pero ahora muestra el error 'nombre de constante incorrecta/opt/node-v4.4.5-linux-x64/bin'. – learner

+0

@learner Use 'export EXECJS_RUNTIME = Node' – Max

4

Si todavía tiene public/index.html, entonces le mostrará qué motor JS se utiliza. Si no tiene uno, aquí va https://gist.github.com/2029491.

+10

Gracias por esto. No sabía que pudieras hacer eso. También descubrí cómo configurar el tiempo de ejecución de JavaScript. En config/boot.rb pongo la siguiente línea: 'ENV ['EXECJS_RUNTIME'] = 'Node''. – Max

+0

@Max ¡desearía que lo pusiera como una respuesta! – Crisfole

11

Mientras que Max 's answer es perfectamente válido y bueno si desea establecer globalmente esta opción, vale la pena señalar que hay una manera más simple de hacerlo. Para imprimir el tiempo de ejecución actual, después de importar ExecJS través require 'execjs', basta con ejecutar

puts ExecJS.runtime.name 

Y para establecer el tiempo de ejecución actual, sólo tiene que utilizar

ExecJS.runtime = ExecJS::Runtimes::Node 
Cuestiones relacionadas