Node.jsランタイム
GraalVMでは、未変更のNode.jsアプリケーションを実行できます。アプリケーションでは、NPMパッケージ(ネイティブ・パッケージを含む)を自由にインポートして使用できます。
GraalVM Node.jsランタイムを有効にするには、オペレーティング・システムのOracle GraalVMまたはGraalVM Community Editionに基づいてNode.jsディストリビューションをインストールします。
-
GitHubリリースに移動し、Node.jsをダウンロードします。
-
アーカイブを解凍します:
ノート: macOS Catalina以降を使用している場合は、最初に隔離属性を削除します。
sudo xattr -r -d com.apple.quarantine <archive>.tar.gz解凍:
tar -xzf <archive>.tar.gzまたは、ファインダでファイルを開きます。
-
バージョンをチェックして、ランタイムがアクティブかどうかを確認します。
./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の公式ドキュメントを参照してください。