GraalVMアップデータ

GraalVMアップデータ(gu)は、オプションのGraalVM言語ランタイムおよびユーティリティをインストールして管理するためのコマンドライン・ツールです。GraalVM JDKで使用できます。インストールを支援するために、言語ランタイムおよびユーティリティはJARファイルとしてあらかじめパッケージ化され、ドキュメントではコンポーネントと呼ばれます。GraalVMアップデータは、ローカルのGraalVMインストールを新しいバージョンに更新したり、GraalVM Community EditionからOracle GraalVMにアップグレードするために使用することもできます。詳細は、「GraalVMのアップグレード」を参照してください。

使用可能なコンポーネントのチェック

GraalVMインストールにすでに出荷されているコンポーネントまたはインストール済のコンポーネントを確認するには、listコマンドを実行します:

gu list

インストールするGraalVMバージョンで使用可能なコンポーネントを確認するには、gu availableコマンドを実行します:

gu available
Downloading: Component catalog from ...
ComponentId              Version            Component name                
-----------------------------------------------------------------------------
espresso                 <version>          Java on Truffle               
espresso-llvm            <version>          Java on Truffle LLVM Java library
js                       <version>          JavaScript
llvm                     <version>          LLVM
llvm-toolchain           <version>          LLVM.org toolchain                  
nodejs                   <version>          Graal.nodejs                  
python                   <version>          Graal.Python                  
R                        <version>          FastR                         
ruby                     <version>          TruffleRuby                   
wasm                     <version>          GraalWasm                     

インストールするコンポーネントのComponentId値を書き留めます。

GraalVMアップデータは、コンポーネントのバージョンが現在のGraalVMインストールに適しているかどうかを検証します。あるコンポーネントが、その操作の前提条件として別のコンポーネントを必要とする場合があります。GraalVMアップデータは、そのような要件を検証し、必要な依存性のダウンロードを試みるか、コンポーネントの要件が満たされない場合はインストールを中止します。Oracle GraalVM用のコンポーネントをGraalVM Community Editionにインストールすることはできません。

ほとんどの場合、Node.js、R、Ruby、PythonおよびWebAssembly言語の一般サポートは、初期状態で使用できます。コンポーネントのインストール後のメッセージにある推奨事項に従って、システムに依存する構成を微調整することをお薦めします。

コンポーネントのインストール

コンポーネントは、GraalVMアップデータを使用してコンポーネントのIDでインストールできます(gu install ComponentId)。

  1. GraalVMバージョンで使用可能なコンポーネントとわかりやすい名前のリストを入手します:
     gu available
    
  2. ComponentId値を使用してコンポーネント・パッケージをインストールします。たとえば、jsの場合:
     gu install js
    

    インストールが開始され、進行状況が表示されます。

インストール中にさらに詳細な出力を表示し(ダウンロードの進行状況バーなど)、バージョンおよび依存性情報を出力するには、-v (--verbose)スイッチを使用します。

別のコンポーネントに依存するコンポーネントがインストールされている場合、GraalVMアップデータは適切な依存性を検索して、これもインストールします。必要なコンポーネントが見つからない場合、インストールは失敗します。

コンポーネントの手動インストール

コンポーネントはローカル・ファイルからインストールできます。つまり、手動でインストールできます。

  1. オペレーティング・システム、Javaバージョンおよびアーキテクチャ(該当する場合)を考慮して、コンポーネントを次の場所からダウンロードします:

  2. 適切なJARファイルをダウンロードしたら、次のコマンドを使用してインストールします:

     gu -L install component.jar
    

    -Lオプション(--local-fileまたは--fileと同等)は、ダウンロードされたJARからコンポーネントをインストールします。ただし、コンポーネントは他のコンポーネントに依存する場合があります(たとえば、RubyはLLVMツールチェーンに依存します)。たとえば、必要なコンポーネントがまだインストールされていない場合、gu -L install component.jarは失敗します。すべての依存性が同じディレクトリにダウンロードされている場合は、次を実行できます:

     gu -L install -D
    

ローカル・コレクションからのコンポーネントのインストール

コンポーネントは、ローカルのファイル・フォルダまたはローカル・ネットワーク上で共有されたフォルダに事前に手動でダウンロードできます。GraalVMアップデータは、カタログのかわりにそのフォルダを使用できますコンポーネント・コレクション用に使用するディレクトリを指定します:

gu install -C /path/to/downloads/directory ComponentId

コンポーネントのアンインストール

コンポーネントは、不要になった場合はGraalVMからアンインストールできます。特定のコンポーネントをアンインストールするには、そのComponentIdを使用します。gu listを実行して、正確なComponentIdを見つけます。

コンポーネントをアンインストールするコマンドは次のとおりです:

gu remove ComponentId

複数のコンポーネントが(たとえば) rubyで終わる場合、インストーラはコンポーネントのフルネーム(org.graalvm.ruby)が必要であるというエラー・メッセージを出力します。

LLVMツールチェーン・コンポーネントは、依存コンポーネントがインストールされたままの場合、アンインストールに失敗する可能性があります。この場合、依存するコンポーネントを先に削除するか、明示的に選択したコンポーネントに加えて依存するコンポーネントも削除する-Dオプションを追加します:

gu -D remove llvm-toolchain

イメージの再ビルド

GraalVMの言語ランタイム・コンポーネントは変更される場合があります。たとえば:

ネイティブ・バイナリ(言語ランチャ)を再構築およびリフレッシュするには、次のコマンドを使用します:

gu rebuild-images [--verbose] polyglot|libpolyglot|js|llvm|python|ruby|R... [custom native-image args]...

コンポーネントおよびファイルの置換

コンポーネントは1回のみインストールできます。同じIDのコンポーネントがすでにインストールされている場合は、GraalVMアップデータによって、コンポーネントのインストールが拒否されます。ただし、インストールされているコンポーネントを置き換えることができます。GraalVMアップデータは、最初にコンポーネントをアンインストールしてから、新しいものをインストールします。

コンポーネントを置き換えるには、-rオプションと-L (--local-fileまたは--file)オプションを使用し、パッケージ化されたコンポーネントのローカル・ファイル名としてパラメータを扱います:

gu install -L -r component.jar
gu install -r ruby

このプロセスは、gu removeが最初に実行され、次にgu installが実行される場合と同じです。

インストールするバージョンと既存のバージョンが異なる場合にも、GraalVMアップデータは、既存のファイルを上書きすることを拒否します。変更された場合や破損した場合など、ファイルの内容をリフレッシュすることが必要になる場合があります。この場合は、-oオプションを使用します:

gu install -L -o component.jar
gu install -o ruby

次に、GraalVMアップデータは、コンポーネントに含まれているファイルを置き換えるようにユーザーに指示します。デフォルトでは、何も変更されません。または、-f (--force)オプションを使用して、ほとんどのチェックを無効にし、一致しないバージョンをユーザーがインストールできるようにします。

プロキシの構成

GraalVMアップデータがコンポーネント・カタログにアクセスするか、コンポーネントをダウンロードする必要がある場合は、HTTP/HTTPSプロキシ(それがネットワークで使用されているとき)を通過する必要があります。macOSでは、プロキシ設定はOSから自動的に取得されます。Linuxでは、guツールを起動する前に、http_proxyおよびhttps_proxy環境変数が適切に設定されていることを確認します。詳細は、ディストリビューションまたはデスクトップ環境(あるいはその両方)のドキュメントを参照してください。

GraalVMアップデータは、セキュリティ上の理由から、証明書またはホスト名の検証を無効にするオプションを意図的にサポートしていません。ユーザーは、GraalVMのデフォルトのセキュリティ・トラスト・ストアにプロキシの証明書を追加できます。コンポーネントを手動でディレクトリにダウンロードし、gu -L install /path/to/fileを実行してローカル・ファイルシステムからインストールすることもできます(「コンポーネントの手動インストール」を参照)。

インターネット・アクセスなしでの作業

マシンがインターネットからカタログおよびコンポーネントにアクセスしてダウンロードできない場合、GraalVMアップデータはローカル・ディレクトリまたはアクセス可能なネットワーク共有上のディレクトリからコンポーネントをインストールできます。

ディレクトリを準備し、インストールするすべてのコンポーネントとその依存性(他のGraalVMコンポーネントが機能する必要がある場合)をそのディレクトリにダウンロードする必要があります。

その後で、gu -L install /path/to/fileを使用できます(-Lオプションはローカル・ファイルを使用するように指定し、--local-fileまたは--fileと同等です)。-Dオプションを追加すると、GraalVMアップデータはインストール可能なファイルの隣のディレクトリで潜在的な依存性を検索します。また、gu -C /path/to/download/dir install componentも使用でき、指定したディレクトリの内容がコンポーネントのカタログとして機能します。

gu -Lでは、コンポーネントのファイル名を指定する必要がありますが、gu -C <dir>を使用する場合は、コンポーネントID (ComponentId)を指定する必要があります:

# Specify file location
gu -LD install /tmp/installables/ruby.jar

# Specify component name
gu -C /tmp/instalables install ruby

インストールの構成

GraalVMアップデータのインストール・コマンドは、複数のオプションおよびパラメータを受け入れます: shell gu install [-0CcDfiLMnosruvyxY] param [param ...]

現在、次のオプションがサポートされています:

GraalVMアップデータ・コマンドの概要

コマンドライン・ヘルプを使用するには、guまたはgu -hを実行します。特定のコマンドに固有のヘルプを取得するには、gu <command> -hを実行します。たとえば、gu install -hです。

GraalVMアップデータの使用オプション:

GraalVMアップデータの共通オプション:

追加オプション:

プラットフォームごとのGraalVMのコンポーネントの可用性およびサポートを確認します。