[問題] 哪裡的R才是對的路徑?

作者: rn940111 (卡比)   2017-12-04 21:03:10
[問題類型]: 版本安裝位置
[軟體熟悉度]:
請把以下不需要的部份刪除
使用者(已經有用R 做過不少作品)
[問題敘述]:
一般來說使用mirror下載的R.pkg 會安裝在 /Library/Framework/R.Framework/....
我安裝在這邊的版本是3.4.2
之前都是用遠端螢幕控制寫R,發現MacOS也能裝RStudio Server後就決定改用這個,
但是剛剛在安裝RStudio Server跟Hadoop的時候我是利用terminal下指令,
搞定了server之後發現RStudio吃的版本跟R GUI吃的版本不同
RStudio現在使用的是/usr/local/cellar/r/3.4.3,
也就是剛剛透過安裝server而指定的路徑
R GUI則是使用/Library/Framework/R.Framework/....
如果是在terminal開R,則是跟R GUI使用相同版本
在這之前RStudio跟R GUI使用的R版本與library路徑都相同,
但是現在兩者的路徑不同了。
(同時 3.4.2 無法判定Taipei時區,所以不能安裝某些包而使得R session出錯,
希望使用3.4.3!)
嘗試重新安裝R.pkg之後,RStudio的版本回歸正常,但是server版本仍為3.4.3
其實我不是很確定兩種路徑哪一種才是放在最正確的位置,
這樣我是應該選擇
1. 指定library的安裝與讀取路徑到原本的/Library/Framework/R.Framework/...
並且讓RStudio固定使用/usr/local/bin/R的版本(往後必須注意更新路徑)
2. 把library的所有東西複製到/usr/local/lib/R/library下,
並且往後固定把R安裝在這,讓RStudio以後都在這裡執行(以後別使用pkg安裝)
3. 改變RStudio的讀取路徑,並且把3.4.3的版本放到3.4.2之路徑下,
往後不使用terminal進行安裝(不確定是否會使得RStudio Server失效)
3的實際作法正在尋找中,但感覺應該是相對不實際的作法
[環境敘述]:
MacOS x64 (High-Sierra)
R version 3.4.3 / 3.4.2
作者: parcequetoi (Sky)   2017-12-04 22:01:00
我以為library本來就沒有所謂"正確"的路徑,不都是自己視需要設定的嗎? @@Server跟Client放套件的路徑不同感覺也很正常題外話,我好奇在MacOS裝Server版有什麼功用
作者: rn940111 (卡比)   2017-12-04 22:11:00
我想要在外面用iMac跑,所以我希望server讀的東西跟我本機的版本一樣問題在於"正確的版本路徑"而非library library本來就是最好解決的
作者: andrew43 (討厭有好心推文後刪文者)   2017-12-04 22:39:00
有時候一個soft link就解決了。玩壞的機率也不大。不過我不確定library能不能直接餵食或在不同版間互通
作者: Wush978 (拒看低質媒體)   2017-12-05 15:45:00
因為你是用homebrew 裝的rstudio server吧,所以預設會連到homebrew的R。方便起見,我建議你全部以homebrew的為主,把R.pkg的刪掉即可。這樣裝rJava等套件遇到問題的機會也比較小...
作者: bluecadence (Maxwell's demon)   2017-12-05 19:23:00
其實軟體版本也沒有什麼"正確"安裝的路徑,當然不同作業系統傳統上有一些傳統的安裝路徑,可是那都是可變更的。重點是自己指定要安裝在那,使用的時候路徑有沒有指定正確(binary code or lib, etc)。多個版本,有時候跑這版本有時跑那個版本,原因是有時候你指定了絕對路徑,有時候你又沒有指定絕對路徑,所以系統就按照可執行檔案路徑參數的優先次序抓優先度高的路徑版本跑。不然就是有時候有你不知道的symbolic link 存在。然後你的"library"是指R的套件(packages)的library嗎?不同版本的R或許可以/或不可以共用library 如果R在編譯的時候使用的條件不同。不過MacOS或許比較沒這問題
作者: andrew43 (討厭有好心推文後刪文者)   2017-12-05 22:49:00
我支持全都從單一介面(如brew)建立系統。不然之後更新時都要手動確定很多設定,不是很方便。

Links booklink

Contact Us: admin [ a t ] ucptt.com