Mac 10.10.6无头异常

时间:2016-10-23 19:39:50

标签: r macos netlogo rjava

我正在尝试通过我的mac 10.10.6上的rStudio 0.99.903在R 3.3.1上运行NetLogo 5.3.1。我还安装了Java 1.8.0_77-b03

> system("java -version")
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
> .jinit()
> .jcall("java/lang/System", "S", "getProperty", "java.runtime.version")
[1] "1.8.0_77-b03"
> 
> Sys.getenv('JAVA_HOME')
[1] ""
> Sys.getenv('LD_LIBRARY_PATH')
[1] ":@JAVA_LD@"

我也在运行RNetLogo_1.0-2和rJava_0.9-9。

R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] RNetLogo_1.0-2 igraph_1.0.1   rJava_0.9-9   

loaded via a namespace (and not attached):
[1] magrittr_1.5  rsconnect_0.5 tools_3.3.1 

我在网上吃午餐时得到的错误如下。

> nl.path <- ("/Applications/NetLogo 5.3.1/Java")
> ### Start NetLogo
> NLStart(nl.path)
java.awt.HeadlessException
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204)
    at java.awt.Window.<init>(Window.java:536)
    at java.awt.Frame.<init>(Frame.java:420)
    at java.awt.Frame.<init>(Frame.java:385)
    at javax.swing.SwingUtilities$SharedOwnerFrame.<init>(SwingUtilities.java:1758)
    at javax.swing.SwingUtilities.getSharedOwnerFrame(SwingUtilities.java:1833)
    at javax.swing.JOptionPane.getRootFrame(JOptionPane.java:1696)
    at javax.swing.JOptionPane.showOptionDialog(JOptionPane.java:863)
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:666)
    at javax.swing.JOptionPane.showMessageDialog(JOptionPane.java:637)
    at nlcon.NLink.<init>(NLink.java:109)

我已尝试过几种解决方案,我在StackExchange或此处找到了这些解决方案。

http://conjugateprior.org/2014/12/r-java8-osx/
http://charlotte-ngs.github.io/2016/01/MacOsXrJavaProblem.html
https://github.com/snowflakedb/dplyr-snowflakedb/wiki/Configuring-R-rJava-RJDBC-on-Mac-OS-X
http://stackoverflow.com/questions/35179151/cannot-load-r-xlsx-package-on-mac-os-10-11
http://stackoverflow.com/questions/14915898/rnetlogo-function-nlstart-fails-to-launch-gui

他们都没有在我的电脑上工作过......

有没有人知道我应该怎样做才能使这项工作?

谢谢!

PS1 / I与从mac shell运行R的结果完全相同。

PS2 /我已经安装了java 1.6并经过测试后看到了这个问题并且没有做任何更改我删除了它。

1 个答案:

答案 0 :(得分:2)

正如有人评论(我真的不知道为什么他们没有发布答案)问题的关键是我使用了错误的软件包来启动NetLogo。

首先,必须确保R具有正确的Java Home集。所以在mac shell上运行它。

lookup_url_kwarg

然后,在R shell / console上,我们必须以源代码方式安装rJava,以便使用我们的Java位置和版本进行编译。

R CMD javareconf

然后我们必须安装JGR

install.packages("rJava", type="source", repos="http://cran.us.r-project.org”) 

然后运行并打开JGR控制台。

install.packages("JGR")

在那里表单...我们在JGR控制台上运行其余的脚本/命令。

require(JGR)    
### Start JGR 
JGR()

它应该工作。

PS /你可以阅读here,NetLogo for mac和linux不支持这个功能