Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在macOS Mavericks 10.9.5上安装xlsx和rJava_Java_R_Macos_Rjava - Fatal编程技术网

在macOS Mavericks 10.9.5上安装xlsx和rJava

在macOS Mavericks 10.9.5上安装xlsx和rJava,java,r,macos,rjava,Java,R,Macos,Rjava,在我的Mac上安装rjava真是一场噩梦 我的设置: MacOS 10.9.5 Java: 7u71 (64 bits dowloaded from Oracle site) R: R version 3.1.1 (2014-07-10) 首先,我在命令行中运行 sudo R CMD javareconf 然后,我跑进了R: install.packages('rJava') 编译结束时的错误如下: JavaVM -F/opt/local/Library/Frameworks/R.fram

在我的Mac上安装rjava真是一场噩梦

我的设置:

MacOS 10.9.5
Java: 7u71 (64 bits dowloaded from Oracle site)
R: R version 3.1.1 (2014-07-10)
首先,我在命令行中运行

sudo R CMD javareconf
然后,我跑进了R:

install.packages('rJava')
编译结束时的错误如下:

JavaVM -F/opt/local/Library/Frameworks/R.framework/.. -framework R -llzma -lm -liconv -licuuc -licui18n
ld: library not found for -licuuc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libjri.jnilib] Error 1
make[1]: *** [src/JRI.jar] Error 2
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’
* removing ‘/Users/costa/Library/R/3.1/library/rJava’
我尝试了Java8和Mac默认Java,也得到了同样的错误


Ideias?

我的计算机上也有同样的错误(Mac OS 10.9.5、Java 1.8.0_11、R 3.1.1)。从Oracle(1.8.0_25)安装最新的Java JDK并没有解决这个问题。然而,在更新Java之后,安装R3.1.2为我解决了这个问题。运行
install.packages(“rJava”)
后,此操作将:

> library("rJava")
> .jinit() # this starts the JVM
> s <- .jnew("java/lang/String", "Hello World!")
> .jcall(s,"I","length")
[1] 12
>库(“rJava”)
>.jinit()#这将启动JVM
>s.jcall(s,“I”,“长度”)
[1] 12
请注意,更新JDK与GUI Java控制面板中的Java版本有所不同,可以通过系统首选项进行访问。后者只是internet浏览器插件的JRE。

我作为root(sudobash)所做的(使用macports R):

  • 编辑
    /opt/local/Library/Frameworks/R.framework/Resources/etc/Makeconf
    换线

    LIBS =  -llzma -lm -liconv -licuuc -licui18n
    

  • 安装原始的1.6 Mac Java

  • 出口
    JAVA_HOME=/System/Library/JAVA/JavaVirtualMachines/1.6.0.jdk/Contents/HOME

  • 运行
    R CMD javareconf

现在您可以启动R并执行
install.packages(“rJava”)
。使用1.6版本的Java确保RStudio也可以加载rJava包


如果您不打算使用RStudio,也可以使用Java1.8,我也有同样的问题。我使用的是OS X Yosemite,最初是通过自制软件安装R

我执行了以下步骤来修复它:

  • 关闭R的所有实例
  • 在我的终端shell中,运行
    sudo R CMD javareconf
  • 从我的终端打开R并运行:

    安装软件包(“rJava”)

    安装软件包(“xlsx”)


  • 使用旧的Java SE 6,我能够通过运行javareconf来编译rJava,如下所示:

    JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home \
    JAVA_CPPFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ \
    r CMD javareconf
    

    通过在我的Macbook上安装rJava(运行OSX Yosemite和R版本3.2.3),我实际上可以完全避免编辑我的环境。首先,在R中执行以下操作以安装rJava:

    install.packages("rJava", type = "mac.binary")
    
    可能与此无关,出于某种原因,在我第一次安装
    xlsxjars
    依赖项之前,我无法安装xlsx。因此,在R中执行以下操作:

    install.packages(c("xlsxjars", "xlsx"))
    
    有了这两个命令,xlsx似乎可以很好地安装在mac上

    这对我很有用:

    sudo R CMD javareconf
    
    然后,在R解释程序中:

    install.packages('rJava', type='source')
    install.packages('xlsx', type='source')
    

    我相信我必须安装snow leopard build,它运行良好我尝试过使用这个版本:但是我无法安装(我的Mac是10.9.5)
    openxlsx
    是一个不依赖Java的好选择。在此阶段,rJava的编译失败:install.packages('rJava',type='source')对我来说只是为了更改
    Makeconf
    文件中的标志!另外,您可能需要使用
    sudo
    运行
    R CMD javareconf
    install.packages('rJava', type='source')
    install.packages('xlsx', type='source')