无法加载rJava,因为无法加载共享库

Far*_*rel 9 java r path

我一直在努力在R中加载rJava包.

我收到以下消息

> library(rJava)
Error in inDL(x, as.logical(local), as.logical(now), ...) : 
  unable to load shared library \
     'C:/PROGRA~1/R/R-210~1.1/library/rJava/libs/rJava.dll':
  LoadLibrary failure:  The specified module could not be found.


Error : .onLoad failed in 'loadNamespace' for 'rJava'
Error: package/namespace load failed for 'rJava'
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多解决方案,他们都在我的头脑中.在某些时候我甚至得到了

> R Console: Rgui.exe - System Error The
> program can't start because
> MSVCR71.dll is is missing from your
> computer. Try reinstalling the program
> to fix this problem.
Run Code Online (Sandbox Code Playgroud)

我确保我能想到的一切都在路上

> C:\Program Files\R\Rtools\bin;C:\Program Files\R\Rtools\perl\bin;
  C:\Program Files\R\Rtools\MinGW\bin;%SystemRoot%\system32;
  %SystemRoot%;%SystemRoot%\System32\Wbem;
  %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
  C:\Program Files\QuickTime\QTSystem\;
  C:\Program Files\R\R-2.10.1\library\rJava\libs\;
  C:\Program Files\R;C:\Program Files\Java\jre6\bin\client  
Run Code Online (Sandbox Code Playgroud)

我接下来应该尝试什么?

我正在运行R版本2.10.1(2009-12-14),我也尝试了R版本2.10.1 Patched(2010-03-03 r51210).它是在运行Windows 7企业版的Windows机器上运行的

小智 12

如果你已经阅读过这个威胁,并且上述建议都没有起作用,那么可能值得进一步尝试:

  • Windows 7的
  • R版本2.12.1(2010-12-16)64位
  • Java(TM)SE运行时环境(版本1.6.0_23-b05),Java HotSpot(TM)64位服务器VM(版本19.0-b09,混合模式)

    JAVA_HOME=C:\Program Files\Java\jre6\bin\

    Path= ...;C:\Program Files\Java\jre6\bin\server\;C:\Program Files\R\R-2.12.1\bin\x64\

最终解决我问题的是明确添加\server\到PATH变量.


小智 5

不管怎样,把C:\Program Files\Java\jre6\bin\[server]我的PATH 工作投入进去。看来 rJava 模块可以jvm.dll在那里找到。

以下是我正在使用的 R 和 Java 版本(在 64 位 Windows 7 上)。

爪哇:

java version "1.6.0_30"
Java(TM) SE Runtime Environment (build 1.6.0_30-b12)
Java HotSpot(TM) 64-Bit Server VM (build 20.5-b03, mixed mode)
Run Code Online (Sandbox Code Playgroud)

回复:

R version 2.14.1 (2011-12-22)
Copyright (C) 2011 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: x86_64-pc-mingw32/x64 (64-bit)
Run Code Online (Sandbox Code Playgroud)


小智 5

系统信息:R版本3.0.1(2013-05-16)平台:x86_64-w64-mingw32/x64(64位)

我遇到了同样的问题。我能够通过从该网站获得的命令窗口中输入一行代码来解决该问题。

Sys.setenv(JAVA_HOME='C:\Program Files\Java\jre7')

请注意,我使用了这一特定行,因为我使用的是 64 位系统。请参阅网站了解 32 位示例。


Sha*_*ane 4

遵循德克的一些明智建议:

  • 你的路径可能应该说C:\Program Files\Java\jre6\bin\(删除“客户端”)。
  • 你的路径也应该有C:\Program Files\R\R-2.10.1\bin\. 您不需要对 rJava 库的显式引用。然后我也会C:\Program Files\R从路径中删除。
  • 最后,通过转到命令提示符并键入java -version,或在 R 中键入 ,确认可以访问 Java system("java -version")
  • 如果您安装 SDK,那么您还需要一个系统变量JAVA_HOME,在我的例子中它指向C:\Sun\SDK\.