簡體   English   中英

無法加載 rJava.dll - 不是有效的 Win32 應用程序 - 安裝 ReporteRsjars 時

[英]Unable to load rJava.dll - not a valid Win32 application - while installing ReporteRsjars

我在 64 位 R、64 位 Windows 10 機器上安裝 ReporteRsjars 包時遇到問題。 ReporteRsjars 包是從 CRAN 存檔(tar.gz 文件)下載並從本地文件夾安裝的。

R 說它無法加載 rJava.dll 並且似乎正在尋找 32 位 rJava.dll 文件(錯誤消息:不是有效的 Win32 應用程序)。 我不知道為什么要這樣做。

我已經安裝了 rJava 包並且調用 library(rJava) 似乎可以毫無問題地加載 rJava 包。

我還安裝了 openJDK 版本 11(64 位),這是一個從http://jdk.java.net/11/下載的 zip 文件。 沒有 Windows 安裝程序,所以我只是將它解壓縮到 C:\\Program Files\\Java 並添加了一些系統環境變量:C:\\Program Files\\Java\\jdk-11\\bin 和 C:\\Program Files\\Java\\jdk -11\\bin\\服務器

並創建了一個系統環境變量:JAVA_HOME = C:\\Program Files\\Java\\jdk-11

在 Windows 命令提示符下輸入 java -version 確認我的機器有 openJDK 11,OpenJDK Runtime Environment 18.9。 和 OpenJDK 64 位服務器 18.9。

我不知道我哪里出錯了 - 非常感謝您提供正確安裝 ReporteRsjars 的任何提示。

 install.packages("C:/Users/h/Downloads/ReporteRsjars_0.0.4.tar.gz", repos = NULL, type = "source")
'\\u\h\Documents'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported.  Defaulting to Windows directory.
* installing *source* package 'ReporteRsjars' ...
** package 'ReporteRsjars' successfully unpacked and MD5 sums checked
** R
** inst
** byte-compile and prepare package for lazy loading
** help
No man pages found in package  'ReporteRsjars' 
*** installing help indices
** building package indices
** testing if installed package can be loaded
*** arch - i386
Error: package or namespace load failed for 'ReporteRsjars':
 .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.5.1/library/rJava/libs/i386/rJava.dll':
  LoadLibrary failure:  %1 is not a valid Win32 application.

Error: loading failed
Execution halted
*** arch - x64
ERROR: loading failed for 'i386'
* removing 'C:/Program Files/R/R-3.5.1/library/ReporteRsjars'
* restoring previous 'C:/Program Files/R/R-3.5.1/library/ReporteRsjars'
In R CMD INSTALL
Warning in install.packages :
  installation of package ‘C:/Users/h/Downloads/ReporteRsjars_0.0.4.tar.gz’ had non-zero exit status

嘗試安裝R 32和R 64位版本的軟件包時,將需要同時安裝32位和64位Java版本。 另外我認為沒有必要使用JAVA_HOME 如果安裝正確完成,則不需要任何其他環境。 變量。

出於開發目的,我在 PC 上安裝了幾個 JDK(32 位和 64 位)后遇到了這個問題。 在 R 腳本中添加這一行為我解決了這個問題:

Sys.setenv(JAVA_HOME="C:/Program Files/Semeru/jdk-8.0.312.7-openj9/jre")

當然,路徑需要根據你的Java版本來設置。

在 Windows 中設置環境變量並重新啟動 RStudio 也解決了rJava.dll問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM