25

iplots と rjava パッケージをインストールしました。このライブラリ (iplots) を実行すると、次のエラーが発生します。私のPCにはJDKがインストールされています。

Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: fun(libname, pkgname)
error: JAVA_HOME cannot be determined from the Registry

エラー: パッケージ 'rJava' を読み込めませんでした

4

4 に答える 4

33

このエラーは、マシン上の Java の場所を R に示すエントリがレジストリにないことを示しています。レジストリが壊れているか、Java がインストールされていない可能性が高いです。Java ランタイム環境または Java 開発キットのいずれかをインストールできます。

(ここから Java をダウンロードできます。)

Java をインストールした場合は、再インストールしてみてください。これにより、エントリがレジストリに戻されます。

それでもうまくいかない場合は、R がレジストリ エントリを探している場所を正確に調べ始めることができます。rJava が Java を見つけるために使用する関数は、rJava:::.onLoad 関数にあります。その関数内には、find.java というサブ関数があります。ここに内容をコピーします:

    find.java <- function() {
        for (root in c("HLM", "HCU")) for (key in c("Software\\JavaSoft\\Java Runtime Environment", 
            "Software\\JavaSoft\\Java Development Kit")) {
            hive <- try(utils::readRegistry(key, root, 2), 
              silent = TRUE)
            if (!inherits(hive, "try-error")) 
              return(hive)
        }
        hive
    }

これをコピーして R ウィンドウに貼り付け、実行しfind.java()ます。rJava は JavaHome のエントリを探しています。リストされていない場合は、レジストリにありません。

ライブラリをロードする前に Java の場所のディレクトリを手動で設定することもできます。

Sys.setenv(JAVA_HOME='C:\\Your\\Java\\Directory')
library(rJava)
于 2012-02-02T22:05:53.590 に答える
1

リンクの回答で問題が解決しました。

解決前に、Windows環境にJAVA_HOMEを追加してみました。このエラーは解決しましたが、別の問題が発生しました。上記のリンクの解決策は、追加の問題を発生させることなくこの問題を解決します。

于 2016-03-07T12:12:55.413 に答える