2016-10-23 1 views
1

Ich versuche NetLogo 5.3.1 auf R 3.3.1 durch rStudio 0,99.903 auf meinem Mac 10.10.6 zu laufen. Ich habe auch Java 1.8.0_77-b03NetLogo 5.3.1 und R 3.3.1 auf Mac 10.10.6 kopflose Ausnahme

> 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]" 

Ich bin auch läuft RNetLogo_1.0-2 y rJava_0.9-9 installiert.

Der Fehler, den ich bekomme, wenn ich zum Mittagessen Netlogo Trie ist wie folgt.

> 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) 

Ich habe mehrere Lösungen ausprobiert, die ich hier bei StackExchange oder hier und da gefunden habe.

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 

Keiner von ihnen hat auf meinem Computer gearbeitet ...

hat jemand eine Ahnung, was soll ich tun müssen, um diese Arbeit zu machen?

Danke!

PS1/I haben die gleichen genauen Ergebnisse R laufen von der Mac-Shell.

PS2/Ich habe Java 1.6 installiert und nach dem Test das Problem und sehen, dass keine Änderung ich es gelöscht habe.

+0

Warum Sie die '/ Applications' Verzeichnis wie nl.path entschieden? –

+1

Hilfeseite: "Hinweis für MAC-Benutzer: Wenn Sie RNetLogo im Headless-Modus (ohne GUI, dh mit dem Argument gui = FALSE in NLStart) ausführen möchten, müssen Sie AWT vor dem Laden des Pakets deaktivieren. Führen Sie einfach Sys.setenv (NOAWT = 1) vor dem Ausführen der Bibliothek (RNetLogo) Wenn Sie RNetLogo im GUI-Modus ausführen möchten, müssen Sie es aus der JGR-Anwendung starten (siehe https://cran.r-project.org/package=JGR und die Notiz unter http: //groups.yahoo.com/group/netlogo-users/message/14817) Es kann erforderlich sein, vor dem Laden des JGR-Pakets Sys.setenv (NOAWT = 1) auszuführen und vor dem Start Sys.unsetenv ("NOAWT") auszuführen JGR über JGR()." –

+0

Danke, dass Sie auf die Nachricht in der NetLogo Mainling-Liste hingewiesen haben ... war der Schlüssel! – lpuerto

Antwort

2

Als jemand kommentierte (ich weiß wirklich nicht, warum sie die Antwort nicht posten) war der Schlüssel zum Problem, dass ich das falsche Paket benutzte, um NetLogo zu starten.

Zuerst muss man sicher sein, dass R den richtigen Java Home-Satz hat. Also starte das auf der Mac-Shell.

Dann müssen wir auf der R-Shell/Konsole den rJava in Quellcode installieren, um mit unserem Java-Speicherort und der Java-Version zu kompilieren.

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

Dann müssen wir JGR

install.packages("JGR") 

und laufen und öffnen Sie die JGR Konsole installieren.

Formular dort auf ... wir führen den Rest des Skripts/Befehle auf der JGR-Konsole.

### 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")) 

Es sollte funktionieren.

PS/Wie Sie here lesen können, wird diese Funktionen nicht auf NetLogo für Mac und Linux unterstützt

Verwandte Themen