2016-08-03 109 views
0

我試圖從一個的iTerm OSX計算機(OSX 10.11.6)上運行R.調用。當我進入R,它開闢了R的舊版本,從路徑/Users/***/miniconda2/bin/R。我想它在默認情況下,在/usr/local/bin/R發現的R版本來運行,而不必每次都輸入完整的路徑。如何改變默認R的位置?運行從終端的R新版本時,舊版本在默認情況下

感謝您的幫助

回答

1

這可能是由於PATH變量/usr/local/bin之前寧願~/miniconda2/bin。我在這裏給你幾個選項來幫助理解它爲什麼會發生。

讓我們假設你的PATH看起來是這樣的:

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

修改PATH

您可以修改PATH/usr/local/bin後移動/Users/me/miniconda2/binPATH完全刪除。缺點是,如果你依賴於~/miniconda2/bin其他二進制文件,他們將不再被執行的名字時,他們發現了。

移動R OUT的方式

另一種選擇是使用

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

此後R將被從下一個位置$PATH運行,但如果移動~/miniconda/bin/R的方式進行,例如你更新它可能會返回的miniconda2。

鏈接至R進一步向上的路徑(簡單/最好)

最後,你可以確保有某些東西的R可執行文件是進一步向上$PATH。這可能是最簡單和最有效的選擇。

首先,確保您的主目錄中有一個bin文件夾。如果不是這種情況,請使用mkdir ~/bin創建它,然後重新啓動終端。重啓應該引起代碼~/.profile到該文件夾​​添加到您的$PATH。你可以通過做echo $PATH來驗證。如果不是這種情況,下面一行添加到您的~/.profile~/.bash_profile

export PATH=$HOME/bin:$PATH 

在這個例子中,在頂部,PATH已經包含/Users/me/bin在該行(最高優先級)的開始。

接下來,創建一個軟鏈接到新創建的文件夾中的R二進制:

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

您現在應該能夠執行R,這將傾向於創建符號鏈接,將執行一個你喜歡。如果它不能馬上執行,請執行hash -r或重新啓動終端。

+0

美麗!謝謝@PhillipKewisch,你最後的解決方案完美運作。對於其他沒有經驗的人(比如我)來說,他們正在努力做到這一點:在我的主目錄中創建一個'bin'文件夾,並在我的'$ PATH'的頂部識別它,我使用:'mkdir〜/bin','export PATH = $ HOME/bin:$ PATH',然後手動將輸出行放在我的'〜/ .bash_profile'中。有可能是一個更好的方法來做到這一點,但這對我工作 – sacul

+0

謝謝,我已經將您的建議添加到答案。實際上這不是一個壞的方法,我的配置文件中也有相同的內容。 –

相關問題