web-dev-qa-db-ja.com

R-エラー: 'rJava'のloadNamespace()で.onLoadが失敗しました

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:/Users/ankitagarwal5/Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

In addition: Warning message:
  package ‘rJava’ was built under R version 3.2.3 
Error: package or namespace load failed for ‘rJava’

StackOverflowのさまざまな投稿を参照し、それに応じて変更を試みましたが、何も機能しませんでした。これらは、問題を解決するために従ったさまざまな手順です。

if (Sys.getenv("Java_HOME")!="")
  Sys.setenv(Java_HOME="")
library(rJava)

これはうまくいきませんでした。

それから私はこれを試しました:

options(Java.home="C:\\Program Files\\Java\\jre1.8.0_91\\")
library(rJava)

これも機能しませんでした。

Jvm.dllはWindows 7 64ビットOSのこの場所にあります-C:\ Program Files(x86)\ Java\jre1.8.0_91\bin\client

また、環境変数のPATH変数にC:\Program Files (x86)\Java\jre1.8.0_91\bin\clientを追加し、RStudioを再起動して、rJavaを再度インストールしてロードしようとしました。それもうまくいきませんでした。

誰かがこの問題を解決するのを手伝ってくれれば幸いです。

みんなありがとう!

31
user3205469

これは私のために働いた-

多くの場合、このエラーは、使用しているRバージョンのタイプ(つまり、64ビットJavaまたは32ビットJava)に適合するJavaバージョン(つまり、64ビットビットRまたは32ビットR)。この問題は、使用しているRのバージョンとは異なるJavaのバージョンをインストールしている可能性があるため、Windows 7ユーザーに簡単に影響を及ぼします。

Javaの64ビットバージョンを「手動でダウンロードしてインストール」する必要があることに注意してください。デフォルトでは、ダウンロードページには32ビットバージョンがあります。

このリンクからインストールするJavaの正確なバージョンを選択できます。 (何らかの理由で)Rの両方のバージョンで作業する場合は、Javaの両方のバージョンをインストールできます(「Javaランタイム環境」をインストールするだけで十分です)。 (情報源:Uwe Ligges)

他の可能な解決策は、rJavaを再インストールしようとしています。

それでもうまくいかない場合は、ライブラリを読み込む前にJavaの場所を手動で設定することもできます。

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version
Sys.setenv(Java_HOME='C:\\Program Files (x86)\\Java\\jre7') # for 32-bit version
library(rJava)

このリンクを参照してください- http://www.r-bloggers.com/how-to-load-the-rjava-package-after-the-error-Java_home-cannot-be-determined-from-the-レジストリ/

30
user3205469

同じ問題が発生しました。 Javaのファイルパスを必ず確認してください。エラーを解決するには、64ビットJavaバージョンをダウンロードする必要がありました。ただし、Javaの最新バージョンではフォルダーが正しくないため、Rの次のコードは機能しませんでした。

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version

代わりに、名前を次のように変更しました。

Sys.setenv(Java_HOME='C:\\Program Files\\Java\\jre1.8.0_144') 

役立つことを願っています

10
EliChambers

WindowsでのR、RStudio、rJavaの異なる新規インストールで、エラーを修正するのは次のとおりです。

  1. Rをアンインストールします
  2. Rを再インストールしますが、1つのアーキテクチャのみを選択します。例、x64、またはx86、ただし両方ではありません。これは、RまたはRStudioのコンパイル時に混乱する傾向があります。

私の場合、メッセージを修正しました

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/ankitagarwal5/Documents/R/win-library/3.2/rJava/libs/x64/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

上記の手順1および2に従います。

2
f0nzie

私は他の人が役に立たないと言ったことを試しました。私にとっての解決策は、アンインストールしてもそこに残っていたコンピューター上のRバージョン32ビットの古いフォルダーとショートカットを削除することでした。

OSアーキテクチャとRアーキテクチャが一致していないと思います。それらが一致している場合、以下が問題である可能性があります

Windows 7の環境変数リストにRライブラリパスを追加した後、私にとってはうまくいきました。

そう、

「C:/Users/Rohan-PC/Documents/R/win-library/3.1」このパスをシステム変数リストの下のパス変数リストに追加します(ユーザー変数の下のPATH変数と混同しないでください)。 Rを再起動し、ライブラリをロードしてみてください。できます!!!!!

0
Laxman Jaygonde