web-dev-qa-db-ja.com

RでrJavaをロードできません

R x64 3.1.2でrJavaをロードしたい。 OS- Windows 8.1 64ビット

インストールはうまくいくようですが:

  > install.packages("rJava")
    Installing package into ‘C:/Users/sony/Documents/R/win-library/3.1’
    (as ‘lib’ is unspecified)
    --- Please select a CRAN mirror for use in this session ---
    trying URL 'http://cran.utstat.utoronto.ca/bin/windows/contrib/3.1/rJava_0.9-6.Zip'
    Content type 'application/Zip' length 758898 bytes (741 Kb)
    opened URL
    downloaded 741 Kb

package ‘rJava’ successfully unpacked and MD5 sums checked

The downloaded binary packages are in
        C:\Users\sony\AppData\Local\Temp\RtmpamYUH7\downloaded_packages

パッケージの読み込み中にエラーが発生します。

library(rJava)
Error in get(Info[i, 1], envir = env) : 
  lazy-load database 'C:/Users/sony/Documents/R/win-library/3.1/rJava/R/rJava.rdb' is corrupt
In addition: Warning message:
In get(Info[i, 1], envir = env) : internal error -3 in R_decompress1
Error: package or namespace load failed for ‘rJava’

R-64ビットに取り組んでいると同時に、環境変数Pathが次のように設定されていることを知っています。

C:\Program Files\Java\jdk1.7.0_51\bin;C:\Program Files\Java\jre7\bin\server;

また、Javaバージョンも64ビットです。エラーの原因がわかりません。

Rを使用して手動で設定する場合:

options(Java.home="C:\\Program Files\\Java\\jdk1.7.0_51\\bin")
library(rJava)

私はこのエラーを受け取ります:

enter image description here

Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'C:/Users/sony/Documents/R/win-library/3.1/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.

Error: package or namespace load failed for ‘rJava’

何かアドバイス? Javaの古いバージョンをアンインストールした後、エラーが発生したようです。

その他:また、追加するために、Java_HOMEを環境変数として設定しません。

Rをアンインストールして再インストールしても問題は解決しないようです。

古いJavaバージョンを削除することはあまり役に立ちません。

41
Abhishek Bhatia

つかいます:

Sys.setenv(Java_HOME='...path to JRE...')

例えば.

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jdk1.7.0_51\\jre')

環境変数が間違っています。

33
qjgods

同様のエラーが発生しました:

> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: inDL(x, as.logical(local), as.logical(now), ...)
  error: unable to load shared object 'C:/program files/R/R-3.1.2/library/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.

私のJava_HOMEは、JDKではなく、JREを指していました。

> Sys.getenv("Java_HOME")
[1] "c:\\Java\\jdk1.7.0_55"
> Sys.setenv(Java_HOME="c:\\Java\\jdk1.7.0_55\\jre")

rJavaxlsxRをロードできるようになりました。

19
manoj

私は同様の問題に遭遇し、それを修正するために丸一日を費やしました。私のコンピューター、windows7、およびRstudioは64ビットですが、Javaは32ビットです(!)それに気付いたら、64ビットJavaをダウンロードします。 chromeブラウザは32ビットなので、手動でダウンロードする必要がありますが、自動ダウンロードでは32ビットバージョンになります。 64ビットJavaは自動的にインストールされます

ただし、C:\ Program Files\Javaの場合、32ビットJavaはC:\ Program Files(x86)\ Javaに自動的にインストールされます。

これは、Javaが64ビットまたは32ビットであることを示す重要な指標です。

64ビットJavaをインストールすると、すべてが完璧に機能します!

4
Sunny

同様のエラーメッセージに直面した。

ここにリストされているいくつかのステップを試しました。

  1. 環境設定変数、Java_HOME。 =>動作しませんでした。
  2. RJavaをインストールしようとしました+>動作しませんでしたステップ3,4,5は動作しました。
  3. Java 64ビットバージョン8.xx(最新バージョン)を更新しました
  4. install.packages(rJava)==>成功
  5. install.packages(RWeka)==>成功
3
user2162611

Javaが更新をPCに潜入するたびにこのエラーが発生します。私が行くと:

Sys.getenv("Path")

出力に次のようなものがあります

C:\\Program Files \\Java\\jre1.8.0_112\\bin\\server\\

jreサブフォルダーの最後の数桁は古くなっています。

これをどこでも修正するには、Windows環境変数を編集する必要があります。これを行うには、WINDOWS + Xキーを選択し、Command Prompt(Admin)メニューから、入力

rundll32.exe sysdm.cpl,EditEnvironmentVariables

コマンドボックスで。これにより、PATH変数(およびその他のシステム変数)の編集権限でこのダイアログボックスが呼び出されます。

enter image description here

長い環境変数を編集するためのWindowsインターフェイスは少し扱いに​​くいため、Edit ...をクリックした後、結果のパスの混乱をコピーして貼り付けたいtoNotepad.exe、そこで作業を行い、コピーして貼り付けて戻します。

3
lebelinoz

同じ問題がありました:

64-bit Rを実行していました。RStudioを閉じて再度開くと、どのバージョンを確認できます。一番上にあるはずです。

32-bit Javaがインストールされていました。つまり、JavaフォルダーはC:\Program Files (x86)内にありました。

私は単にJava.comに進み、64-bit Javaをダウンロードし、System variablesPATHの最後にその場所を追加し、rJavaをロードできるようにしました。 (インストールは私がした古いバージョンを取り除くように私に頼みました)

2
Shery

これはおそらく、Java_HOMEポインターを使用した設定の問題です。 JDKではなくJREを使用している場合は、次の手順を実行する必要があります。Sys.setenv(Java_HOME = 'C:\ Program Files\Java\jre1.8.0_161')

コンピューターにあるものに基づいて、「jre」の後の数字を忘れずに変更してください。 JDKとJREの違いを説明する link を次に示します。

1
Bowen Chen

RStudioデイリービルドをダウンロードしてみてください: http://dailies.rstudio.com

他のすべてを試した後、2回目の試行でうまくいきました(R、Rstudio、Javaを更新し、rJavaを100万回再インストールし、すべてのstackoverflowのアドバイスに従いました)。

ヒントはRStudioから来ました サポートフォーラム

RStudioは、実際にRがここで提供するスタートアップ情報のいくつかを実際に読むことに失敗しています...

RStudioの最新のデイリービルドでこれを修正できる可能性があります-よろしければ、 http://dailies.rstudio.com からダウンロードしてテストしてみてください。

0
havi