首页 文章

R:rJava包安装失败

提问于
浏览
95

使用 install.packages("rJava") 命令安装rJava时出现以下错误:

checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver    : '/usr/bin/jar'
compiler    : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags   : '-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux'
java libs   : '-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’

我安装了Java JDK, java -version 返回以下内容:

$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)

当谷歌搜索错误时,我发现其他人遇到了同样的问题,但没有找到除了“安装整个JDK,而不仅仅是JRE”之外的解决方案 .

我读到的另一件事是运行 sudo R CMD javareconf ,它运行得非常愉快,没有任何错误 .

有什么想法我的问题是什么?

[[EDIT]] 这是's been a few months since I had this problem. I had initially solved this by editing my Java paths, as illustrated in the answer I posted below. I recently ran into the same issue on a new Ubuntu install. I tried Dirk'建议使用apt-get来安装rJava包 . 它工作得很好 . 我最初没有意识到的是,使用Ubuntu apt-get方法安装软件包与使用R中的install.packages()加载相同的软件包根本不同.Ubuntu软件包解决了一些我没有意识到或者没有意识到的问题 . .

15 回答

  • 2

    我在Ubuntu 16.04上遇到了类似的问题,并且能够通过在 /usr/lib/jvm 中创建一个名为"default-java"的文件夹并将其复制到 /usr/lib/jvm/java-8-oracle 的所有内容中来解决它 . 我选择了这个解决方案,因为纠正JAVA_HOME环境变量是没有用的 .

  • 11

    我通过下载得到它:https://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gz并运行命令R CMD安装rJava_0.9-8.tar.gz

  • 6

    谢谢 - 您对 $JAVA_HOME 的建议引导我找到类似的解决方案:

    prompt$ unset JAVA_HOME
    

    在调用R.之前

  • 97

    对我有用的是从文件 /usr/lib/R/etc/javaconf 更改JAVA_HOME

    我首先检查了我的Java版本是什么: sudo update-alternatives --config java . 在我的情况下,它是 java-8-oracle

    我打开文件 /usr/lib/R/etc/javaconf 并将 default-java 替换为 java-8-oracle

    ${JAVA_HOME=/usr/lib/jvm/default-java}
    

    取而代之 :

    ${JAVA_HOME=/usr/lib/jvm/java-8-oracle}
    

    然后 sudo R CMD javareconf

    我重新启动了RStudio,然后可以安装rJava .

  • 13

    原来我的问题是我的 JAVA_HOME 环境变量的问题 . 是的,我知道这令人震惊 . 我对 PATHJAVA_HOME 的初始设置如下所示:

    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    export PATH=$PATH:$JAVA_HOME/bin
    

    我添加 /jre 所以它现在看起来像这样:

    export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
    export PATH=$PATH:$JAVA_HOME/bin
    

    如果没有 /jre ,Java中的所有内容似乎都能正常工作,但rJava不会 . 奇 .

  • 18

    这对我来说在Ubuntu 12.04和R 3.0版本上都有用

    cd /usr/lib/jvm/java-6-sun-1.6.0.26/include
    

    这是具有jni.h的目录

    接下来创建一个指向另一个必需头文件的软链接(我太懒了,不知道如何在下面的JAVA_CPPFLAGS选项中包含多个目录):

    sudo ln -s linux/jni_md.h .
    

    最后

    sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include
    
  • 2

    我在这做的是:

    _et9/apt/sources.list中的

    • ,添加:

    deb http://ftp.de.debian.org/debian sid main

    注意:rjava应该是最新版本

    2运行:sudo apt-get update sudo apt-get install r-cran-rjava

    一旦更新旧版本的rjava,就可以安装rhdfs_1.0.8 .

  • 1

    rJava包查找 /usr/lib/jvm/default-java/ 文件夹 . 但它不是默认的 . 此文件夹具有为系统配置的默认Java的符号链接 .

    要激活默认的Java安装,请使用以下软件包:

    sudo apt-get install default-jre default-jre-headless

    使用CRAN R 3.4.1在ubuntu 17.04上测试

  • 1

    在AMD64上在Gentoo下运行R.我升级到R 2.12.0

    R版本2.12.0(2010-10-15)版权所有(C)2010 R统计计算基金会ISBN 3-900051-07-0平台:x86_64-pc-linux-gnu(64位)和那些讨厌的消息去了远 .

    Jan Vandermeer

  • -2

    这就是我的工作方式:

    在Linux中(Ubuntu 16.04)

    sudo apt-get install default-jre
    sudo apt-get install default-jdk
    sudo R CMD javareconf
    

    R中

    install.packages("rJava")
    
  • 69

    下面是我在另一篇文章中的答案之一 - error: unable to load installed packages just now
    (这也与这个问题有关)

    对于Linux(Ubuntu)用户:如果安装了oracle-java (7/8) . 它将在此位置 /usr/lib/jvmsudo 访问是必需的 .

    使用以下条目创建文件 /etc/ld.so.conf.d/java.conf

    /usr/lib/jvm/java-8-oracle/jre/lib/amd64
    /usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
    

    (用java-7-oracle替换java-8-oracle,具体取决于你的java版本)

    然后:

    sudo ldconfig
    

    重新启动RStudio,然后安装rJava包 .

  • 1

    岂不

    apt-get install r-cran-rjava
    

    一直比较容易?你可以在useR上问我! :)

  • 4

    我试图安装openjdk-7- *但我仍然遇到安装rJava的问题 . 在我重新启动计算机后结果出来,那就没有问题了 .

    所以

    sudo apt-get install openjdk-7-*
    
    
    RESTART after installing java, then try to install package "rJava" in R
    
  • 0

    问题是rJava不会安装在 RStudioVersion 1.0.136 ) . 以下为我工作( macOS Sierra version 10.12.6 )(找到here):

    步骤1:从here下载并安装 javaforosx.dmg

    步骤2:接下来,从RStudio内部运行命令:

    install.packages("rJava", type = 'source')
    
  • 0

    我遇到了同样的问题,它在下面运行命令后起作用 .

    export JAVA_LIBS="$JAVA_LIBS -ldl"
    R CMD javareconf
    

    详情请见http://www-01.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.install.doc/doc/install_install_r.html

相关问题