R:rJava包安装失败
使用R:rJava包安装失败,r,rjava,R,Rjava,使用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.
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
,它运行得非常愉快,没有错误
知道我的问题是什么吗
[[编辑]]
我有这个问题已经好几个月了。我最初通过编辑Java路径解决了这个问题,如我在下面发布的答案所示。我最近在一次新的Ubuntu安装中遇到了同样的问题。我尝试了Dirk的建议,使用apt get安装rJava包。它工作得很好。我最初没有意识到的是,使用Ubuntu apt get方法安装软件包与在R中使用install.packages()加载同一个软件包有根本的不同。Ubuntu软件包解决了一些我没有意识到或意识到的问题 原来我的问题是我的
JAVA\u HOME
环境变量的问题。是的,我知道。我对PATH
和JAVA\u HOME
的初始设置如下所示:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin
我添加了/jre
,现在看起来是这样的:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin
没有/jre
,Java中的一切似乎都可以正常工作,但rJava却不行。奇怪 不会
apt-get install r-cran-rjava
比较容易吗?你可以在用户处问我!:) 在AMD64上的Gentoo下运行R。我升级到R2.12.0 R版本2.12.0(2010-10-15) 版权所有(C)2010统计计算基础 ISBN 3-900051-07-0 平台:x86_64-pc-linux-gnu(64位) 那些讨厌的信息就消失了
Jan Vandermeer谢谢-您关于
$JAVA_HOME
的建议让我找到了类似的解决方案:
prompt$ unset JAVA_HOME
在调用R.之前,我在Ubuntu 12.04和R版本3.0上使用了它
cd /usr/lib/jvm/java-6-sun-1.6.0.26/include
这是包含jni.h的目录
接下来,创建一个指向另一个所需头文件的软链接(我懒得找出如何在下面的JAVA_CPPFLAGS选项中包含多个目录):
最后
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include
我所做的是:
一旦更新了rjava的旧版本,就可以安装rhdfs_1.0.8。我尝试安装openjdk-7-*但在安装rjava时仍然遇到问题。结果是,在我重新启动电脑后,就完全没有问题了 所以
我遇到了同样的问题,在运行下面的命令之后,它就工作了
export JAVA_LIBS="$JAVA_LIBS -ldl"
R CMD javareconf
详情请参阅
下面是我在另一篇帖子上的一个答案-
(这也与这个问题有关) 对于Linux(Ubuntu)用户:如果您已安装。它将在这个位置
/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)
然后:
重新启动RStudio,然后安装rJava软件包。我在Ubuntu 16.04上遇到过类似的问题,通过在
/usr/lib/jvm
中创建一个名为“default java”的文件夹,并将/usr/lib/jvm/java-8-oracle
的所有内容复制到该文件夹中,我就能够解决这个问题。我选择了这个解决方案,因为更正JAVA_HOME环境变量没有任何用处。我通过下载并运行命令R CMD install rJava_0.9-8.tar.gz来实现它。rJava包查找/usr/lib/jvm/default JAVA/
文件夹。但它不能作为默认值使用。此文件夹具有为系统配置的默认java的符号链接
要激活默认java,请安装以下软件包:
sudo-apt-get-install-default-jre-default-jre-headless
在Ubuntu17.04上用CranR3.4.1进行测试,对我来说有效的是将JAVA_从文件
/usr/lib/R/etc/javaconf
我首先检查了启用Java的版本:sudo更新替代方案--config Java
。
在我的例子中,它是java-8-oracle
我打开了文件/usr/lib/R/etc/javaconf
,并用java-8-oracle
替换了default java
:
${JAVA_HOME=/usr/lib/jvm/default-java}
替换为:
${JAVA_HOME=/usr/lib/jvm/java-8-oracle}
然后sudo R CMD javareconf
我重新启动了RStudio,然后可以安装rJava。问题是rJava不会安装在
RStudio
(Version 1.0.136
)。以下内容对我有用(macOS Sierra 10.12.6版
)(已找到):
步骤1:从下载并安装javaforosx.dmg
步骤2:接下来,从RStudio内部运行命令:
install.packages("rJava", type = 'source')
这就是我的工作方式: 在Linux中(Ubuntu 16.04) 在R中:
我在使用Windows10时也遇到了同样的问题。我已使用以下步骤解决了问题
install.packages("rJava", type = 'source')
sudo apt-get install default-jre
sudo apt-get install default-jdk
sudo R CMD javareconf
install.packages("rJava")
Sys.setenv(JAVA_HOME="C:\\Program Files\\Java\\jdk1.8.0_201")
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