RのレジストリエラーからJAVA_HOMEを特定できない問題を修正

Mehvish Ashiq 2024年2月15日
RのレジストリエラーからJAVA_HOMEを特定できない問題を修正

今日は、R プログラミングを使用しているときに JAVA_HOME をレジストリから判別できません というエラーを再現します。 次に、このエラーが何を意味するのかを理解して、解決策につながる考えられる理由を見つけます。

R の エラー: JAVA_HOME をレジストリから判別できません を修正する

コード例:

> # install xlsx package
> install.packages("xlsx")
> # load xlsx package
> library("xlsx")

上記のコード例では、R プログラミングを使用して JAVA_HOME をレジストリから判別できません というエラーを再現しています。 install.packages("xlsx") を使用してパッケージをインストールし、library("xlsx") を使用してパッケージをロードしますが、次のエラーが発生します。

エラーの説明:

エラーの説明

このエラーは、Java の場所を R に通知する Resitry にエントリがないことを意味します。 問題は、なぜこのエラーに直面しているのかということです。

xlsx パッケージが原因でこのエラーが発生していますが、そうではありません。 rJava パッケージのおかげです。

どうやって? xlsx パッケージをインストールしようとすると、R も rJava パッケージをインストールしようとするためです。

もう 1つのポイントは、R が rJava パッケージをインストールしようとすると、なぜ JAVA_HOME をレジストリから判別できません エラーが発生するのでしょうか? このエラーの理由を以下に示します。

  1. R と Java の互換性のないバージョンがあり、連携できません。 たとえば、R は 64 ビット バージョンですが、Java は 32 ビットです。

    次のコードを実行して、マシンにある Java と R のバージョンを確認できます。

    バージョンを確認するコード例:

    > # Check R Version
    > Sys.getenv("R_ARCH")
    > # Check Java Version
    > system("java -version")
    
  2. マシンに Java がインストールされていない場合、または Registry が破損している場合にも、このエラーが発生します。

  3. Java の複数のバージョン (32 ビットと 64 ビットの両方) がインストールされている場合があります。 したがって、ここでは、R プログラミングで Java を使用するための適切なバージョンの Java を指していることを確認する必要があります。

  4. 別の理由として、64 ビット バージョンのオペレーティング システムと R を使用しているが、同じアーキテクチャの Java を使用していないことが考えられます。

それで、それを修正する方法は? 現在マシンで実行されているRバージョンと互換性のあるJavaバージョンをインストールすることで、それを取り除くことができます.

R が 32 ビットまたは 64 ビットの場合は、Java 32 ビットまたは 64 ビットをそれぞれインストールします。

別のバージョンの Java が必要な場合は、Java を 手動でダウンロードしてインストール する必要があることを忘れないでください。 ダウンロード ページでは、デフォルトで 32 ビット バージョンの Java が使用されます。

次に、Java をインストールした後、R とブラウザーを再起動することを忘れないでください。 私たちの場合、Java 8 Update 202 64 ビット版をインストールしたことで、問題は解決しました。

著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - Java Error