GraalVMアップデータ
- 使用可能なコンポーネントのチェック
- コンポーネントのインストール
- コンポーネントの手動インストール
- ローカル・コレクションからのコンポーネントのインストール
- コンポーネントのアンインストール
- イメージの再ビルド
- コンポーネントおよびファイルの置換
- プロキシの構成
- インストールの構成
- 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
)。
- GraalVMバージョンで使用可能なコンポーネントとわかりやすい名前のリストを入手します:
gu available
ComponentId
値を使用してコンポーネント・パッケージをインストールします。たとえば、js
の場合:gu install js
インストールが開始され、進行状況が表示されます。
インストール中にさらに詳細な出力を表示し(ダウンロードの進行状況バーなど)、バージョンおよび依存性情報を出力するには、-v
(--verbose
)スイッチを使用します。
別のコンポーネントに依存するコンポーネントがインストールされている場合、GraalVMアップデータは適切な依存性を検索して、これもインストールします。必要なコンポーネントが見つからない場合、インストールは失敗します。
コンポーネントの手動インストール
コンポーネントはローカル・ファイルからインストールできます。つまり、手動でインストールできます。
-
オペレーティング・システム、Javaバージョンおよびアーキテクチャ(該当する場合)を考慮して、コンポーネントを次の場所からダウンロードします:
- Oracle GraalVMの場合、Oracle GraalVMダウンロード
- GraalVM Community Editionの場合、GitHub
-
適切な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 ...]
現在、次のオプションがサポートされています:
-0, --dry-run
: テスト実行。何も変更しません-c, --catalog
: パラメータをGraalVMコンポーネント・カタログからのコンポーネントIDとして扱います。これがデフォルトです。-C, --custom-catalog <url>
: 特定のカタログURLを使用してコンポーネントを検索します-L, --local-file
: パラメータをパッケージ化されたコンポーネントのローカル・ファイル名として扱います-M
:gu
がインストール済コンポーネントの依存性を無視するように強制します-f, --force
: 上書きを強制し、バージョンの確認をバイパスします-i, --fail-existing
: 既存のコンポーネントで失敗します-n, --no-progress
: ダウンロードの進行状況を表示しません-o, --overwrite
: 異なるファイルを上書きします-r, --replace
: 既存のコンポーネントを置き換えます-s, --no-verify-jars
: コンポーネント・アーカイブの整合性検証をスキップします-u, --url
: パラメータをパッケージ化されたコンポーネントのURLとして解釈します-v, --verbose
: 冗長にします。バージョンおよび依存性情報を出力します-x, --ignore
: 失敗を無視します-y, --only-validate
: インストールせず、互換性および競合するファイルのチェックのみ行います-Y, --validate-before
: ディスク変更の前に、ファイル競合をダウンロード、検証およびチェックします
GraalVMアップデータ・コマンドの概要
コマンドライン・ヘルプを使用するには、gu
またはgu -h
を実行します。特定のコマンドに固有のヘルプを取得するには、gu <command> -h
を実行します。たとえば、gu install -h
です。
GraalVMアップデータの使用オプション:
gu info [-cClLnprstuvV] <param>
: (ファイル、URLまたはカタログから)特定のコンポーネントに関する情報を出力しますgu available [-aClvV] <expr>
: カタログで使用可能なコンポーネントをリストしますgu install [--0CcDfiLMnosruvyxY] <param>
: コンポーネント・パッケージをインストールしますgu list [-clv] <expression>
: インストール済のコンポーネントまたはカタログのコンポーネントをリストしますgu remove [-0DfMxv] <id>
: コンポーネントをアンインストールしますgu upgrade [-cCnLsuxSd] [<ver>] [<cmp>]
: 最新のGraalVMバージョンにアップグレードしますgu rebuild-images
: ネイティブ・ランチャを再ビルドします。詳細な使用方法については、-h
を使用してください
GraalVMアップデータの共通オプション:
-A, --auto-yes
: 質問に対してYESまたはACCEPTを指定します-c, --catalog
: パラメータをGraalVMコンポーネントのカタログからのコンポーネントIDとして扱います。これがデフォルトです。-C, --custom-catalog <url>
: URLにあるユーザー指定のカタログを使用します-e, --debug
: デバッグを有効にし、スタック・トレースを出力します-E, --no-catalog-errors
: 1つ以上のカタログが機能している場合は停止しません-h, --help
: ヘルプを出力します-L, --local-file, --file
: パラメータをパッケージ化されたコンポーネントのローカル・ファイル名として扱います-N, --non-interactive
: 非対話型モードを有効にします。入力が必要な場合は失敗します--show-version
: バージョン情報を出力して続行します-u, --url
: パラメータをパッケージ化されたコンポーネントのURLとして解釈します-v, --verbose
: 詳細な出力を有効にします。バージョンおよび依存性情報を出力します--version
: バージョンを出力します
追加オプション:
--email <address>
: ダウンロード・トークンの生成に使用される電子メール・アドレスを出力します--config <path>
: ダウンロード・トークンへのパスを提供します--show-ee-token
: 保存されたダウンロード・トークンを出力します-k, --public-key <path>
: 検証用のカスタムGPG公開キーへのパスを指定します-U, --username <username>
: Oracleコンポーネント・リポジトリにログインするためのユーザー名を入力します