2016-10-23 3 views
1

내 Mac 10.10.6에서 rStudio 0.99.903을 통해 R 3.3.1에서 NetLogo 5.3.1을 실행하려고합니다. 또한 나는 또한 RNetLogo_1.0-2 Y rJava_0.9-9을 실행하고있어 자바 1.8.0_77-B03에게Netlogo 5.3.1 및 R 3.3.1 Mac에서 10.10.6 headless 예외

> 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] ":@[email protected]" 

를 설치했습니다.

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 

점심 시간에 netlogo를 사용하면 오류가 발생합니다.

> 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/나는 Mac 쉘에서 R을 실행하는 것과 똑같은 결과를 얻었습니다.

PS2/내가 자바 1.6을 설치 한 후 문제를 테스트 한 결과 아무 것도 변경하지 않았 음을 확인했습니다.

+0

에 대한 NetLogo에서 지원되지 않습니다? –

+1

도움말 페이지 : "MAC 사용자를위한 참고 사항 : RELLogo를 헤드리스 모드 (GUI가없는 경우, 즉 NLStart에서 인수 gui = FALSE)로 실행하려면 패키지를로드하기 전에 AWT를 비활성화해야합니다 .Sys.setenv (NOAWT = GUI 모드에서 RNetLogo를 실행하려면 JGR 응용 프로그램에서 시작해야합니다 (https://cran.r-project.org/package=JGR 및 http : //groups.yahoo.com/group/netlogo-users/message/14817) JGR 패키지를로드하기 전에 Sys.setenv (NOAWT = 1)를 실행하고 시작하기 전에 Sys.unsetenv ("NOAWT")를 실행해야 할 수 있습니다 JGR을 통해 JGR()." –

+0

NetLogo Mainling 목록의 메시지에 대해 정확하게 알려 주셔서 감사합니다 ... 열쇠가되었습니다! – lpuerto

답변

2

누군가가 (내가 실제로 답변을 게시하지 않은 이유를 모르겠다.) 문제의 열쇠는 NetLogo를 시작하기 위해 잘못된 패키지를 사용하고 있다는 것입니다.

우선 R에 올바른 Java 홈 세트가 있는지 확인해야합니다. 그래서 이것을 mac shell에서 실행하십시오.

R CMD javareconf 

그런 다음 R 셸/콘솔에서 자바 위치 및 버전으로 컴파일하려면 소스 방식으로 rJava를 설치해야합니다.

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

그런 다음 우리는

install.packages("JGR") 

JGR

를 설치하고 실행하고 JGR 콘솔을 열 수 있습니다.

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

Form on ... 우리는 JGR 콘솔에서 나머지 스크립트/명령을 실행합니다.

### call netlogo. Set the path where NetLogo is installed 
nl.path <- ("/Applications/NetLogo 5.3.1/") # Mac path 

### Start NetLogo 
    # The /Java directory is where the NetLogo java app lives. Don't set 
    # completely before to make the models path work  
NLStart(file.path(nl.path, "Java")) 

그래야합니다. 당신이 here을 읽을 수로 nl.path대로`/ Applications` 디렉토리를 선택할 이유는 무엇

PS /,이 기능은 Mac 및 Linux