首页 > 解决方案 > rJava:非零退出状态

问题描述

我一直在尝试使用以下命令安装 rJava:

install.packages('rJava',,'http://www.rforge.net/')

或者

install.packages('rJava', type = 'source', INSTALL_opts='--merge-multiarch')

但每次我因为这个错误而失败:

警告:无法构建 JRI 如果您仍想构建 rJava,请设置 IGNORE=1。错误:包“rJava”的配置失败。我已经在我的机器上卸载并重新安装了两个版本的 java,但仍然没有帮助!

有没有人有解决方案?

完整的描述如下:

为 i386 安装

  • 安装包 'rJava' ... ** 包 'rJava' 成功解包并检查 MD5 和 生成 Windows 特定文件 (src/jvm-w32) ... make: Entering directory '/Users/ahkay/AppData/Local/ Temp/RtmpKalUob/R.INSTALL192609e43b16/rJava/src/jvm-w32' C:/Rtools/mingw_32/bin/dlltool --as C:/Rtools/mingw_32/bin/as --input-def jvm.def --kill -at --dllname jvm.dll --output-lib libjvm.dll.a C:/Rtools/mingw_32/bin/gcc -O2 -c -o findjava.o findjava.c C:/Rtools/mingw_32/bin/gcc -s -o findjava.exe findjava.o make: 离开目录'/Users/ahkay/AppData/Local/Temp/RtmpKalUob/R.INSTALL192609e43b16/rJava/src/jvm-w32' 查找Java... ./configure.win : 第 15 行: [: 参数太多
    JAVA_HOME=C:/Program Files/Java/jre1.8.0_202 === Building JRI === configure.win: line 21: [: too many arguments JAVA_HOME=C:/Program Files/Java/jre1.8.0_202
    R_HOME= C:/PROGRA~1/R/R-35~1.2 创建 Makefiles ... 配置完成。make -C src JRI.jar make[1]: 进入目录'/Users/ahkay/AppData/Local/Temp/RtmpKalUob/R.INSTALL192609e43b16/rJava/jri/src' C:/Program Files/Java/jre1.8.0_202 /bin/javac -d 。../RList.java ../RBool.java ../RVector.java ../RMainLoopCallbacks.java ../RConsoleOutputStream.java ../Mutex.java ../Rengine.java ../REXP.java .. /RFactor.java ../package-info.java make[1]: C:/Program: 命令未找到 make[1]:* [Makefile.all:41: org/rosuda/JRI/Rengine.class] 错误 127 make[1]: 离开目录 '/Users/ahkay/AppData/Local/Temp/RtmpKalUob/R.INSTALL192609e43b16/rJava/jri/src ' make: * [Makefile.all:19: src/JRI.jar] Error 2 **** WARNING: JRI could not be built 如果您仍然想构建 rJava,请设置 IGNORE=1。错误:包“rJava”的配置失败
  • 在 R CMD INSTALL 中删除 'C:/Users/ahkay/Documents/R/win-library/3.5/rJava' 在 R CMD INSTALL install.packages 中出现警告:安装包 'rJava' 的退出状态非零

标签: javarrstudiorjava

解决方案


我遇到了同样的问题,以下方法在我的 Mac OS 10.13.6 中对我有用,如果在其他操作系统中使用,您可以应用与操作系统相关的微小更改。

操作系统:

手动安装 rJava
# curl -#ROL https://www.rforge.net/rJava/snapshot/rJava_0.9-8.tar.gz
# R CMD INSTALL rJava_0.9-8.tar.gz
#  su - 
您安装 R 软件的位置,您可能有不同的位置。
#  cd /Library/Frameworks/R.framework/Versions/3.5/Resources/lib
我发现 R 使用了不同的 Java,并通过软链接强制:
#ln -s /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/lib/server/libjvm.dylib libjvm.dylib
请记住,您需要将 JAVA_HOME 放在 R Studio 中的以下位置:
>Sys.setenv(JAVA_HOME = "/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home")
验证 rJava 在 R Studio 中的工作:
>require(rJava)

推荐阅读