代码之家  ›  专栏  ›  技术社区  ›  JD Long

R:rJava包安装失败

  •  99
  • JD Long  · 技术社区  · 15 年前

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

    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’
    

    我已经安装了javajdk java -version

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

    当我在google上搜索错误时,我发现其他人也有同样的问题,但除了我所做的“安装整个JDK,而不仅仅是JRE”之外,没有找到其他解决方案。

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

    你知道我的问题是什么吗?

    [[编辑]] 我已经好几个月没遇到这个问题了。我最初是通过编辑Java路径来解决这个问题的,如下面发布的答案所示。我最近在新安装的Ubuntu上遇到了同样的问题。我尝试了Dirk的建议,使用apt-get安装rJava包。它工作得很好。一开始我没有意识到的是,使用Ubuntu apt get方法安装包与在R中使用install.packages()加载同一个包有根本的不同。Ubuntu软件包解决了一些我没有意识到或欣赏到的问题。

    16 回复  |  直到 14 年前
        1
  •  118
  •   Dirk is no longer here    15 年前

    apt-get install r-cran-rjava
    

    变得容易了吗?你本可以问我的 用户!

        2
  •  78
  •   JD Long    15 年前

    原来我的问题是我的问题 JAVA_HOME PATH 爪哇岛之家 看起来像这样:

    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公司 但rJava不会。奇怪。

        3
  •  21
  •   AdrieanKhisbe aytigra    12 年前

    谢谢你的建议 $JAVA_HOME

    prompt$ unset JAVA_HOME
    

        4
  •  19
  •   Jim Chen    6 年前

    在Linux中(Ubuntu 16.04)

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

    install.packages("rJava")
    
        5
  •  15
  •   Yanchang Zhao    10 年前

    我遇到了同样的问题,在运行下面的命令之后,它就工作了。

    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

        6
  •  11
  •   Roman C    12 年前

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

    这是包含jni.h的目录

    接下来创建一个到另一个所需头文件的软链接(我懒得找出如何在下面的JAVA\u 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
    
        7
  •  6
  •   Community CDub    8 年前

    下面是我在另一个帖子上的一个答案- error: unable to load installed packages just now
    (这也与这个问题有关)

    对于Linux(Ubuntu)用户:如果你有 oracle-java (7/8) /usr/lib/jvm sudo 需要访问。

    创建文件 /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版本,将java-8-oracle替换为java-7-oracle)

    然后:

    sudo ldconfig
    

        8
  •  4
  •   Jan Vandermeer    14 年前

    在AMD64上运行Gentoo下的R。我升级到了R2.12.0

    R版本2.12.0(2010-10-15) 版权所有(C)2010 The R Foundation for Statistical Computing 国际标准书号3-900051-07-0 平台:x86\ U 64-pc-linux-gnu(64位) 那些讨厌的信息就消失了。

    简·范德米尔

        9
  •  2
  •   Vahid Mirjalili    11 年前

    所以

    sudo apt-get install openjdk-7-*
    
    
    RESTART after installing java, then try to install package "rJava" in R
    
        10
  •  2
  •   Gustavo Garcia    8 年前

    rJava包寻找 /usr/lib/jvm/default-java/

    要激活默认java,请安装以下软件包:

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

    在ubuntu 17.04和CranR3.4.1上测试

        11
  •  2
  •   Kevin Zarca    7 年前

    对我有用的是把javau从文件改回家 /usr/lib/R/etc/javaconf

    sudo update-alternatives --config java . 对我来说,是的 java-8-oracle

    /usr/lib/R/etc/javaconf文件 default-java 通过 :

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

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

    然后 sudo R CMD javareconf

        12
  •  1
  •   user3119404    11 年前

    我要做的是:

    1. 在/etc/apt/sources.list中,添加:

      http://ftp.de.debian.org/debian sid主

    不ote:the rjava 应为最新版本

    2运行: sudo apt get安装r-cran-rjava

        14
  •  1
  •   UseR10085 dieghernan    6 年前

    我在使用windows10时也遇到了同样的问题。我已经用以下步骤解决了这个问题

    1. 从下载Java https://java.com/en/download/windows-64bit.jsp
    2. 从下载Java开发工具包 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    3. 然后右键单击桌面\Properties\Advanced system settings\Advanced\Environment Variables\下的“系统变量选择路径\单击编辑\单击新建\复制并粘贴路径C:\Program Files\Java\jdk1.8.0\U 201\bin和C:\Program Files\Java\jre1.8.0\U 201\bin(不带引号)\OK\OK\OK

    注意 :jdk1.8.0\u 201和jre1.8.0\u 201将根据Java开发工具包和Java的版本进行更改

    1. 在Environment Variables(环境变量)窗口中,转到User(用户)的User Variables(用户变量)\单击New(新建)\ Put Variable name as JAVA\u HOME(将变量名设为JAVA\u HOME,将变量值设为C:\Program Files\JAVA\jdk1.8.0\u 201\bin\按OK(确定)

    要检查安装情况,请打开CMD\Type javac\Press Enter并 键入java\按enter键 enter image description here

    在RStudio运行中

    Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")
    

    注意 :jdk1.8.0\u 201将根据Java开发工具包的版本进行更改

    现在您可以毫无问题地安装和加载rJava包了。

        15
  •  0
  •   Nilesh Ingle    7 年前

    问题是rJava不会安装在 RStudio ( Version 1.0.136 ). 下面这些对我有用( macOS Sierra version 10.12.6 here ):

    javaforosx.dmg here

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

    install.packages("rJava", type = 'source')
    
        16
  •  0
  •   Waldir Leoncio TheNegative    4 年前

    openjdk-src

    换句话说,这些是我之前需要安装的软件包 sudo R CMD javareconf 已成功运行:

    local/jdk-openjdk 14.0.2.u12-1
        OpenJDK Java 14 development kit
    local/jre-openjdk 14.0.2.u12-1
        OpenJDK Java 14 full runtime environment
    local/jre-openjdk-headless 14.0.2.u12-1
        OpenJDK Java 14 headless runtime environment
    local/openjdk-src 14.0.2.u12-1
        OpenJDK Java 14 sources
    
        17
  •  -2
  •   ilya_kuzminov    9 年前

    我在ubuntu16.04上也遇到过类似的问题,通过在中创建一个名为“defaultjava”的文件夹就可以解决这个问题 /usr/lib/jvm 把所有的内容都拷贝进去 /usr/lib/jvm/java-8-oracle . 我选择了这个解决方案,因为更正javau HOME环境变量没有用。