我正在使用64位Windows 7和64位R 3.2.0。我已经下载了rJava软件包,但是它给出了如下错误。
错误:.onLoad在'rJava'的loadNamespace()中失败,详细信息:
调用:dirname(this $ RuntimeLib)错误:预期使用字符向量参数另外:警告消息:软件包'rJava'是在R版本3.2.2下构建的错误:“ rJava”的程序包或名称空间加载失败
我在stackoverflow上搜索了答案,并执行以下操作:
1)将jvm.dll文件添加到我的PATH变量中,即在以下目录中:
C:\Program Files\Java\jdk1.8.0_25\jre\bin\
Run Code Online (Sandbox Code Playgroud)
2)我正在使用64位R 3.2.0,并检查JVM版本是否为64位,请在命令行中键入以下内容:
java -d64 -version
Run Code Online (Sandbox Code Playgroud)
它给出了以下输出:
C:\Users\xyz> java -d64 -version
java version "1.8.0_25"
Java(TM) SE Runtime Environment (build 1.8.0_25-b18)
Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)
Run Code Online (Sandbox Code Playgroud)
因此,至少JVM与R匹配。
那么还需要做更多的rJava工作吗?我还检查了我的PATH变量,看来还可以。
我知道这为时已晚,但是您是否尝试过将R版本切换为诊断步骤?
对于RStudio 1.0.136:工具->全局选项...->常规:R版本:更改-选择32位。
更改版本对我有用,并提示我重新访问Java安装。(最终仅使用R32)
使用R64遇到了相同的错误:
Loading required package: XLConnectJars
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dirname(this$RuntimeLib)
error: a character vector argument expected
Error: package ‘XLConnectJars’ could not be loaded
Run Code Online (Sandbox Code Playgroud)
使用计算机的默认R64在Windows 10上运行RStudio。
你必须指定jdk在哪里。例如:
Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jdk1.8.0_161')
那么它应该可以工作。