Como usar nodejs en tu aplicación Ruby a través de la gema execjs

6 de agosto, 2015 @ 11:19 — 0 comentariosDescargar PDF

Cuando realizamos por primera vez el deployment de una aplicación ruby, es habitual encontrar el siguiente error:

ExecJS could not find a JavaScript runtime

Para evitarlo rápidamente podemos descomentar la gema therubygem en el Gemfile y volver a ejecutar bundle.

Sin embargo es recomendable usar nodejs cuando está disponible. En nuestros planes de alojamiento nodejs está disponible .

Un modo sencillo de usar nodejs es editar el archivo runtimes.rb . Si hemos instalado execjs entonces debemos editar el siguiente archivo atendiendo a la versión de la gema en cuestión:

~/ruby/gems/gems/execjs-2.5.2/lib/execjs/runtimes.rb

Buscamos el grupo cuya linea contiene


 name: "Node.js (V8)",

Y dejamos el grupo, para usar nodejs 6 del siguiente modo

 Node = ExternalRuntime.new(
 name: "Node.js (V8)",
 command: "/opt/nodejs-8/bin/node",
 runner_path: ExecJS.root + "/support/node_runner.js",
 encoding: 'UTF-8'
 )
 

De esta manera execjs utilizará nodejs en la aplicación.