GraalVM Rランタイムの互換性

GraalVM RランタイムはGNU Rに基づいており、ベース・パッケージを再利用します。現在、これはGNU R 4.0.3に基づいており、Rの新しいメジャー・バージョンが使用可能になり安定したら、それらに移行します。GraalVMのRランタイム開発者は、R言語および組込み機能のあらゆる側面に関する広範なユニット・テストを保持しており、これらのテストはRソース・コードの一部として使用可能です。

GraalVMのRランタイムは、R拡張機能で使用されるネイティブ・インタフェースを含め、GNU Rとの完全な互換性を確保することを目的としています。これは、ggplot2ShinyRcppなど、未変更の複雑なRパッケージをインストールして実行できます。パッケージの中には、GNU Rの明示されていない動作または実装の詳細に依存しているものがあるため、パッケージのサポートについては作業が進行中であり、一部のパッケージが正常にインストールされなかったり、予期したとおりに動作しないことがあります

パッケージのインストール

パッケージは、install.packages関数またはR CMD INSTALLシェル・コマンドを使用してインストールできます。デフォルトでは、GraalVMのRランタイムはCRANリポジトリの固定スナップショットを使用します1。この動作をオーバーライドするには、install.packages関数のrepos引数を明示的に設定します。この機能は、checkpointパッケージには影響しません。プロキシ・サーバーの背後にいる場合は、必ず、環境変数またはJVMオプション(--vm.Djava.net.useSystemProxies=trueなど)を使用してプロキシを構成してください。

GraalVMのRランタイム用に特別にパッチが適用された一部のパッケージのバージョンは、GitHubリポジトリからそれらをダウンロードするinstall.fastr.packages関数を使用してインストールできます。現在、これらはrJavaおよびdata.tableです。

制限事項

GNU Rと比較して、GraalVM Rランタイムにはいくつかの制限があります:




1 より技術的に言えば、GraalVMのRランタイムは$R_HOME/etc/DEFAULT_CRAN_MIRRORの固定MRAN URLを使用します。これは、URL文字列から特定の日付に表示されたときのCRANリポジトリのスナップショットです。