web-dev-qa-db-ja.com

警告:node.jsの検出に失敗しました。sbtはRhinoベースのTriremeJavaScriptエンジンを使用します

Play Framework は初めてです。以下の警告の意味を説明してください。

警告:node.jsの検出に失敗しました。sbtは代わりにRhinoベースのTrireme JavaScriptエンジンを使用して、JavaScriptアセットのコンパイルを実行します。これは、node.jsを使用するよりも桁違いに遅い場合があります。

アプリケーションの速度を低下させるものは必要ないので、JSエンジンをNode.jsに変更する必要があるかどうかアドバイスしてください。ただし、PlayFrameworkプロジェクトはサーバー側でJavaを使用しています。

18
sij

Node.jsをインストールしてから、sbt/Javaエンジンにそれを使用するように指示する必要があります。

  brew install node

.bash_profileを編集して、以下を追加します。

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

これにより、OSXでの警告がなくなりました

11
ski_squaw

Windowsの場合:

  • インストール node.js
  • コントロールパネル-システムとセキュリティ-システム-システムの詳細設定に移動します
  • クリック環境変数...
  • システム変数SBT_OPTS を検索します。
    • そのようなものが存在する場合は、編集...をクリックし、-Dsbt.jse.engineType=Node変数値
    • そのようなものが存在しない場合は、新規...をクリックし、SBT_OPTS変数名および-Dsbt.jse.engineType=Nodeから変数値
  • クリック[〜#〜] ok [〜#〜]-[〜#〜] ok [〜#〜 ]-[〜#〜] ok [〜#〜]
  • 現在PlayFrameworkを実行しているコマンドプロンプト(cmd、PowerShell)を再起動します
5
Stefan Georgiev

ubuntuで

curl -sL https://deb.nodesource.com/setup | Sudo bash -

Sudo apt-get install -y nodejs

次に、上記のようにホームディレクトリの.profileに追加します

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

その後

 . ./.profile 

.profileをリロードします

ノードバージョンマネージャーを使用したより柔軟なインストールについては、次のチュートリアルを確認してください。 buntu 14.04サーバーにノードjsをインストールする方法

再度ビルドすると、Triremeのものの使用に関する警告は消えるはずです。

4
Slayer6

環境変数を設定する代わりに、次の行をbuild.sbtファイルに追加できます。

JsEngineKeys.engineType := JsEngineKeys.EngineType.Node

参照: https://github.com/sbt/sbt-js-engine

2
charlie_destwin

jSエンジンを必要とするsbtプラグインはビルドプロセスでのみ使用されるため、Node.jsがない場合は、アセットのビルド段階が遅くなるだけです。

ビルドされたアプリケーションは影響を受けません。

とにかく、node.jsをPATHにインストールして、自動検出することをお勧めします。

windows 10の場合:

Node.jsを https://nodejs.org/en/ からインストールします(インストーラーは自動的にnode.jsをPATHに追加します)

それから加えて:

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

あなたのplugins.sbtに

. ./project/plugins.sbt

私のために働いた-警告は消えた!

編集:どうやらplugins.sbtは追加するのに間違った場所でした

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

...アプリの読み込み時に警告が消えましたが、数時間後にアプリを再起動するとエラーが発生しました。

エラー:見つかりません:値のエクスポート

誰かが助けて、どこに輸出するか教えてくれたら嬉しいです。

0
NikoH