注) Windowsでの対処法を記載しています。Macとは手順が異なる場合があるので注意してください。
RでJavaを動かせるrJavaというパッケージがあります。テキストデータの処理などで使うことがありました。便利なパッケージですが、エラーメッセージが出て使えないという話をよく頂きます。今回は、その対象法について説明します。
エラーについて
インストールを行ったあとに、libraryでrJavaをロードします。
# install.packages('rJava')
library(rJava)
しかし、以下のエラーメッセージが表示される場合があります。使っているOSでエラーメッセージが違うみたいですね。
- Windows
Error: package or namespace load failed for ‘rJava’: .onLoad は loadNamespace()('rJava' に対する)の中で失敗しました、詳細は: call: fun(libname, pkgname) error: JAVA_HOME cannot be determined from the Registry
- Mac
Unable to find any JVMs matching version "(null)". No Java runtime present, try --request to install. エラー: package or namespace load failed for ‘rJava’: .onLoad は loadNamespace()('rJava' に対する)の中で失敗しました、詳細は: call: fun(libname, pkgname) error: JVM could not be found 追加情報: 警告メッセージ: 1: system("/usr/libexec/java_home", intern = TRUE) で: 命令 '/usr/libexec/java_home' の実行は状態 1 を持ちました 2: fun(libname, pkgname) で: Cannot find JVM library 'NA/lib/server/libjvm.dylib' Install Java and/or check JAVA_HOME (if in doubt, do NOT set it, it will be detected)
原因
1: パソコンにJavaが入っていない
そもそもJavaがRを使っているパソコンに入ってなければrJavaを動かせません。試しに、Javaを僕のパソコンから削除し、rJavaを読み込んだところ、上記のエラーメッセージが出現しました。
2: RとJavaの設定があっていない
Javaのアップデートを行った際に発生する場合があるようです。こちらはすでに解説記事がありましたので、解決方法に関しては、こちらをご覧ください[1]
解決方法
原因1への対処: Javaをパソコンにインストールする(Javaがパソコンに入っていない方)
以下の手順でパソコンにJavaをインストールしましょう[2]。
-
パソコンのビット数を調べる。
調べ方↓
[Windowsのマークのボタン] → [システム] → [バージョン情報]
32bitか64bitかを確認する。 -
Javaのインストーラーをダウンロード
JavaのHPを開き(https://www.oracle.com/jp/java/)、[Javaをダウンロードする]をクリック。[x64 Installer]をダウンロード(僕のパソコンは64bitですので、x64を選びます)。
*Javaをインストール!と言っていますが、厳密には、Javaの開発環境である(Java Development Kitをダウンロードしています。ですので、jdkという略称が実行ファイル名についています -
Oracle プロファイルへのサインイン
Javaのダウンロードには「Oracle プロファイル」を作成する必要があるようです。作成したことがない場合、サインイン画面に自動で移動するようです。作成していない方は作成しましょう。 -
Javaをインストール
ダウンロードした実行ファイル(.exe)を開きましょう。 -
忘れない!環境変数の設定
これ以降の作業までやらないとJavaを動かせないようです。Windowsの検索画面(虫眼鏡のマーク)で[システム環境変数の編集]と入力し、設定画面を開きます。下側の[環境変数(N)...]をクリック。次のポップアップの[新規(N)...]を押すと、以下の画面が表示されるので、必要な情報を入力します。
変数名:
JAVA_HOME
変数値:
JAVAフォルダの中にあるjdkから始まるフォルダ(パソコンにより違う場合大)
変数値ですが、Windows (C:)をクリックし(エクスプローラー(書類入れのマーク)を開いて出てくる左側の列から探してみてください)、その中のProgram Filesをクリック、そしてその中のJavaをクリックして、さらに、その中に入っているjdk- 19(19のところはバージョンによって異なる)をクリックしてください。
その後、表示画面の上部をクリックすると、
変数値へのパスが表示されます(↓)。これをコピーして、変数値のところに張り付ければOKです。
入力して[OK]を押すと、無事環境変数が設定されていますね。まだ画面を閉じないでください。
6. 忘れない!Pathの設定
次に、[Path]を選択し、[編集(E)...]をクリックします。
[新規(N)]をクリックし、以下を入力してください。
%JAVA_HOME%¥bin
入力が終わったら、[OK] → [OK]で設定画面を閉じましょう。
7. 忘れない!パソコンを再起動
変更を反映させます。
8. 環境変数が通っているかの確認
虫眼鏡のマークを押して、[コマンドプロンプト]と入力します。そうすると以下の画面が立ち上がります。
そちらの画面で以下のコードを入力してください。
java -version
[Enter]を押して、以下のようなJavaのバージョンが表示されれば(バージョンによって表示内容は違います)インストール成功です。
結果
RStudioに戻って、再度rJavaをロードしたところ、無事ロードできました。
最後に
この記事はWindows向けに書きましたが、Windows、MacなどOSに関わらず、JavaをパソコンにインストールすればrJavaを使用できるようになると思います。