Node.jsランタイム

GraalVMでは、未変更のNode.jsアプリケーションを実行できます。アプリケーションでは、NPMパッケージ(ネイティブ・パッケージを含む)を自由にインポートして使用できます。

GraalVM Node.jsランタイムを有効にするには、オペレーティング・システムのOracle GraalVMまたはGraalVM Community Editionに基づいてNode.jsディストリビューションをインストールします。

  1. GitHubリリースに移動し、Node.jsをダウンロードします。

  2. アーカイブを解凍します:

    ノート: macOS Catalina以降を使用している場合は、最初に隔離属性を削除します。

     sudo xattr -r -d com.apple.quarantine <archive>.tar.gz
    

    解凍:

     tar -xzf <archive>.tar.gz
    

    または、ファインダでファイルを開きます。

  3. バージョンをチェックして、ランタイムがアクティブかどうかを確認します。

     ./path/to/bin/node --version
    

Node.jsスタンドアロンでは、nodeおよびnpmランチャが提供されます。npmコマンドは、デフォルトのNode.jsコマンドと同等で、すべてのNode.js APIをサポートします。

nodeネイティブ・ランチャの実行とJavaコンテキストからのNode.js NPMモジュールまたはECMAScriptモジュールへのアクセスの違いは、NodeJSVSJavaScriptContextを参照してください。

Node.jsアプリケーションの実行

Node.jsベースのアプリケーションを実行するには、nodeランチャを使用します。

node [options] [filename] [args]

GraalVMのNode.jsランタイムは、Node.jsの最新バージョンに基づいており、Google V8のかわりにGraalVM JavaScriptエンジンを実行します。したがって、一部の内部機能(VM内部統計、構成、プロファイリング、デバッグなど)はサポートされていないか、サポートされていたとしても動作が異なる可能性があります。

nodeコマンドはNode.jsとほぼ互換性があり、追加のGraalVM固有の機能(Javaおよび他のすべてのGraalVM言語との相互運用性など)を備えています。使用可能なオプションのリストは、node --helpを使用して取得できます。

npmを使用したパッケージのインストール

Node.jsパッケージをインストールするには、npmランチャを使用します。npmコマンドは、デフォルトのNPMコマンドと同等で、そのほとんどのオプションをサポートしています。

NPMパッケージは、次の方法でインストールできます:

npm install <package>

GraalVM Node.jsのnpmコマンドはNPMとほぼ互換性があるため、パッケージは想定どおりにnode_modulesフォルダにインストールされます。

npmパッケージのグローバル・インストール

ノード・パッケージは、npmおよび-gオプションを使用してグローバルにインストールできます。npmのデフォルト設定では、node実行可能ファイルがインストールされているパス(通常はNODE/bin)にグローバル・パッケージ(実行可能ファイルへのリンク)がインストールされます。このフォルダは、グローバル・パッケージがインストールされている場所です。グローバルにインストールされたパッケージ、特にそのコマンドライン・インタフェースを定期的に使用する場合は、必要に応じてそのディレクトリを$PATHに追加できます。

もう1つのオプションは、$PREFIX環境変数を設定するか、npm installの実行時に--prefixオプションを指定することで、npmのグローバル・インストール・フォルダを指定することです。たとえば、次のコマンドでは、/foo/barフォルダにグローバル・パッケージがインストールされます:

npm install --prefix /foo/bar -g <package>

prefixの詳細は、NPMの公式ドキュメントを参照してください。