[问题] 哪里的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