无法加载rJava因为无法加载共享库
我一直挣扎在R.无法加载rJava因为无法加载共享库
加载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'
我已经尝试了很多的解决方案,它们都在我的脑海里bamboo了。。 在某些时候,我甚
> 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.
我确信一切我能想到的是路径
> 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
我应该尝试下呢?
我运行v版本2.10.1(2009-12-14),我也曾尝试[R版本2.10.1修补的(2010-03-03 r51210)。它运行的是Windows 7企业
跟进一些德克的圣人忠告:
- 你的路径也许应该说
C:\Program Files\Java\jre6\bin\
(删除“客户端”)。 - 你的路径也应该有
C:\Program Files\R\R-2.10.1\bin\
。你不需要明确引用rJava库。我也会从路径中删除C:\Program Files\R
。 - 最后,确认可以通过访问命令提示符并键入
java -version
或通过键入system("java -version")
来从R中访问Java。 - 如果你安装了SDK,那么你还需要一个系统变量
JAVA_HOME
,在我的案例中指向C:\Sun\SDK\
。
编辑职位可读性/格式化看来,你在你的路径中没有Java系统后,在Windows机器上。我不使用你正在尝试使用的操作系统,但是我的rJava
只有在我还安装了Java运行环境或更好的Java SDK的情况下才有效。
注意,包明确列出
SystemRequirements: java
,而且rJava site明确规定以下
安装
首先,确保你已经 JDK 1.4或更高版本(部分 平台需要更高版本请参阅R Wiki)。在unix系统上确保 R配置了Java支持。如果不是 ,您可以通过使用R CMD javareconf(您可能需要 预先安装sudo或根据您的安装运行它作为根 --有关详细信息,请参阅 R-ext手册A.2.2)来重新配置R.在 Windows Java在运行时从注册表中检测到 。
rJava可使用 install.packages( 'rJava')被安装为任何其它的R 包从CRAN。请参阅 开发版本左侧菜单中的 文件部分。如果支持
JRI仅编译, 即如果R被配置为 框架或与--enable-R-SHLIB。
所以我认为我们有几支吸烟枪指向相同的方式。
我已经添加了一个编辑到我原来的问题。 – Farrel 2010-03-08 03:48:57
我有一个类似的错误,不得不做一个额外的解决办法:明确设置将R路径... BIN \ x64和也正在使用64位Java和R.
如果你有一致的读这种威胁既不的建议,到目前为止上述工作过,那么它可能是值得尝试的一个进一步:
- Windows 7的
- [R版本2.12.1(2010-12-16)64位
-
Jav一个(TM)SE运行时环境(建立1.6.0_23-B05),爪哇热点(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变量。
同样在这里,需要'\ server \'。我发现的方式是从R GUI运行'library(“rJava”)',它打印的jvm.dll不见了。 Emacs打印完全不同的错误信息。在将'\ server \'添加到路径后,emacs/ess和gui版本都可以正常工作。 – user443854 2012-12-10 20:51:05
我可以同意。谢谢你在这里提供这个答案。 – 2013-03-09 21:45:55
为什么它的价值,把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)
R:
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)
系统信息: ř版本3.0.1(2013年5月16日) 平台:x86_64的-W64-的mingw32/64(64位)
我遇到了同样的问题。我可以用从代码website获得的命令窗口中的一行代码解决问题。
Sys.setenv(JAVA_HOME = 'C:\ Program Files文件\的Java \ jre7')
请注意,我用这一行,因为我是一个64位系统上。查看网站的32位示例。
你的系统上是否有Java运行环境(Java Run-Time Environment,JRE)甚至Java SDK? – 2010-03-08 03:04:24
在某个阶段(但相对较早),我去了http://www.java.com/en/并从那里下载了java。我现在回到该网站并使用他们的Java测试并获得了以下信息:供应商:Sun Microsystems Inc.版本:Java 6 Update 18操作系统:Windows 7 6.1架构:x86。该程序似乎位于C:\ Program Files \ Java \ jre6。我真的不知道路径如何工作。是否必须指定到实际的子目录,或者我只需指向一般的附近区域,软件就会知道要查看子目录。感谢您重新格式化我的文章。 – Farrel 2010-03-08 03:43:03
正确安装给定的'组件'通常需要调整PATH,例如这就是R所做的。我引用的rJava文本谈到了从注册表中获取Java信息,所以我认为有些东西在你的盒子上。 – 2010-03-08 04:16:10