GraalVMでのTruffleRubyの使用

GraalVMは、TruffleRubyを実行するプラットフォームです。

GraalVMをインストールすると、--native--jvmの両方のランタイム構成でTruffleRubyを実行できます。

依存性

TruffleRubyを正しく実行するには、TruffleRubyの依存性をインストールする必要があります。

Community EditionとEnterprise Edition

GraalVMには、オープンソースのCommunity Editionと、それよりもパフォーマンスおよびスケーラビリティに優れたEnterprise Editionがあります。比較については、Webサイトを参照してください。

ベース・イメージのインストール

GraalVMは、高パフォーマンスの言語ランタイムのプラットフォームを提供するベース・イメージから始まります。

Community Editionのベース・イメージは、オープン・ソース・ライセンスに基づいてGitHubからインストールできます。

Enterprise Editionのベース・イメージは、オラクル社のライセンス契約に同意することにより、オラクル社のダウンロード・ページからインストールできます。

GraalVM Community Editionのナイトリ・ビルドも入手可能です。

どちらのエディションを選択しても、抽出可能なtarballが取得されます。必要に応じて$PATHに追加できるbinディレクトリ(macOSではContents/Home/bin)があります。

asdfによるインストール

asdfおよびasdf-javaインストールの使用は、asdf install java graalvm-20.1.0+java11と同じくらい簡単です(asdf list-all java | grep graalvmを使用してバージョンを検索します)。

Rubyおよびその他の言語のインストール

GraalVMをインストールしたら、続いてRuby言語をそれにインストールする必要があります。これを行うには、guコマンドを使用します。Rubyパッケージは、GraalVMの両方のエディションで同じであり、GitHubから取得されます:

gu install ruby

このコマンドでは、インストール後スクリプトの実行に関するメッセージが表示されます。これは、Rubyのopenssl C拡張機能をシステムのlibsslと連携させるために必要です。そのスクリプトを今すぐ実行してください。スクリプトのパスは次のとおりです:

languages/ruby/lib/truffle/post_install_hook.sh

また、最新のRubyコンポーネント(ruby-installable-...)をGitHub (CE)またはOracle製品のダウンロード(EE)から手動でダウンロードすることもできます。その後、gu install --file path/to/ruby-installable-...を使用してそれをインストールします。

Rubyマネージャの使用

GraalVM内には、Ruby実装の通常の構造を持つjre/languages/rubyまたはlanguages/rubyディレクトリがあります。このディレクトリをRubyマネージャに追加することをお薦めします。詳細は、Rubyマネージャの構成を参照してください。