2016-08-03 7 views
0

Ich versuche, R von iTerm auf einem OSX-Computer (OSX 10.11.6) auszuführen. Wenn ich R eingeben, öffnet es eine ältere Version von R aus dem Pfad /Users/***/miniconda2/bin/R. Ich möchte, dass es standardmäßig eine R-Version unter /usr/local/bin/R ausführt, ohne jedes Mal den vollständigen Pfad eingeben zu müssen. Wie würde man den Speicherort des Standard-R ändern?Ausführen einer neueren Version von R vom Terminal, wenn die ältere Version standardmäßig aufgerufen wird

Danke für Ihre Hilfe

Antwort

1

Dies aufgrund des PATH Variable wahrscheinlich ~/miniconda2/bin vor /usr/local/bin bevorzugen. Ich gebe Ihnen hier ein paar Optionen, um zu verstehen, warum es passiert.

übernehmen wir Ihre PATH wie folgt aussieht:

/Users/me/bin:/Users/me/miniconda2/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

Ändern PATH

Sie PATH ändern könnte /Users/me/miniconda2/bin nach /usr/local/bin oder entfernen Sie sie aus PATH vollständig zu bewegen. Der Nachteil ist, dass wenn Sie sich auf andere Binärdateien in ~/miniconda2/bin verlassen, sie nicht mehr gefunden werden, wenn Sie sie namentlich ausführen.

Verschieben R aus dem Weg

Eine andere Möglichkeit wäre ~/miniconda/bin/R aus dem Weg zu bewegen, zum Beispiel mit

mv ~/miniconda/bin/R ~/miniconda/bin/R-miniconda 

Danach wird R in $PATH vom nächsten Ort ausgeführt werden, aber wenn Sie aktualisieren Miniconda2 es kann zurückkehren.

Link zu R weiter oben in der PATH (am einfachsten/besten)

Schließlich könnten Sie sicherstellen, dass es eine R ausführbare Datei in etwas, das weiter liegt die $PATH. Dies ist wahrscheinlich die einfachste und effektivste Option.

Stellen Sie zuerst sicher, dass Sie einen Ordner bin in Ihrem Home-Verzeichnis haben. Wenn dies nicht der Fall ist, erstellen Sie es mit mkdir ~/bin und starten Sie das Terminal neu. Der Neustart sollte den Code in ~/.profile verursachen, diesen Ordner zu Ihrem $PATH hinzuzufügen. Sie können dies überprüfen echo $PATH. Ist dies nicht der Fall ist, fügen Sie die folgende Zeile in ~/.profile oder ~/.bash_profile:

export PATH=$HOME/bin:$PATH 

Im Beispiel oben enthält die PATH bereits /Users/me/bin am Anfang der Zeile (höchste Priorität).

Als nächstes einen weichen Link zu den R binär in den neu erstellten Ordner erstellen:

ln -s /usr/local/bin/R ~/bin/R 

Sie sollten nun in der Lage sein, R auszuführen, die den Softlink erstellt bevorzugen wird, die die Ihnen gefällt wird ausgeführt . Wenn es nicht sofort funktioniert, führen Sie hash -r aus oder starten Sie das Terminal neu.

+0

Schön! Danke @PhillipKewisch, deine letzte Lösung hat perfekt funktioniert.Nur eine Anmerkung für andere unerfahrene Leute (wie mich), die versuchen, dies zu tun: Um einen 'bin'-Ordner in meinem Home-Verzeichnis zu erstellen und ihn am Anfang von' $ PATH' zu erkennen, benutzte ich: 'mkdir ~/bin', 'export PATH = $ HOME/bin: $ PATH' und setze die Exportzeile manuell in mein' ~/.bash_profile'. Es gibt wahrscheinlich einen besseren Weg, dies zu tun, aber das hat für mich funktioniert – sacul

+0

Danke, ich habe Ihre Vorschläge zur Antwort hinzugefügt. Es ist eigentlich keine schlechte Art, es zu tun, ich habe das gleiche in meiner Profildatei. –