node.js playframework rhino

Advertencia: la detección de node.js falló, sbt usará el motor de JavaScript Trireme basado en Rhino



playframework (5)

Como alternativa a la configuración de la variable de entorno, puede agregar esta línea a su archivo build.sbt:

JsEngineKeys.engineType := JsEngineKeys.EngineType.Node

Ver: https://github.com/sbt/sbt-js-engine

Soy nuevo en Play framework. Por favor explique el significado de la advertencia a continuación.

Warning: node.js detection failed, sbt will use the Rhino based Trireme JavaScript engine instead to run JavaScript assets compilation, which in some cases may be orders of magnitude slower than using node.js

No quiero nada que ralentice mi aplicación, así que le recomiendo que cambie el motor JS a node.js, pero mi proyecto playframework usa Java en el lado del servidor.


En Windows:

  • Instalar node.js
  • Vaya a Panel de control - Sistema y seguridad - Sistema - Configuración avanzada del sistema
  • Haga clic en Variables de entorno ...
  • Buscar en variables del sistema para SBT_OPTS
    • Si tal existe, haga clic en Editar ... y concatenar -Dsbt.jse.engineType=Node en Valor de variable
    • Si SBT_OPTS NO existe, haga clic en Nuevo ... y escriba SBT_OPTS en el nombre de la variable y -Dsbt.jse.engineType=Node en el valor de la variable
  • Haga clic en OK - OK - OK
  • Reinicie cualquier solicitud de comando (cmd, PowerShell) que se esté ejecutando Play Framework

Necesita instalar Node.js y luego decirle al motor sbt / java que lo use.

brew install node

Edite .bash_profile y agregue:

export SBT_OPTS="${SBT_OPTS} -Dsbt.jse.engineType=Node -Dsbt.jse.command=$(which node)"

Esto eliminó la advertencia para mí en OSX


en Windows 10:

Instale node.js desde https://nodejs.org/en/ (El instalador agrega automáticamente node.js a su RUTA)

Luego añade:

export SBT_OPTS="$SBT_OPTS -Dsbt.jse.engineType=Node"

a tus plugins.sbt en

. ./project/plugins.sbt

Funcionó para mí: ¡la advertencia ha desaparecido!

EDITAR: Aparentemente plugins.sbt era el lugar equivocado para agregar el

export SBT_OPTS="$SBT_OPTS -Dsbt.jse.engineType=Node"

... aunque la advertencia desapareció al cargar mi aplicación, generó un error al reiniciar la aplicación un par de horas después:

error: no encontrado: exportación de valor

Me alegraría que alguien pudiera ayudarme y decirme dónde colocar la exportación.


en ubuntu

curl -sL https://deb.nodesource.com/setup | sudo bash - sudo apt-get install -y nodejs

luego agregue lo anterior a su .profile en su directorio de inicio

export SBT_OPTS="${SBT_OPTS} -Dsbt.jse.engineType=Node -Dsbt.jse.command=$(which node)"

entonces

. ./.profile

para recargar tu .profile

Para una instalación más flexible usando el administrador de versiones del nodo, consulte el siguiente tutorial: cómo instalar el nodo js en un servidor ubuntu 14.04

Compila de nuevo y la advertencia sobre el uso de Trireme debería desaparecer.