Loading...
墨滴

徐洲更

2021/03/25  阅读:39  主题:全栈蓝

如何优雅地在macOS上切换R语言版本

对于初学者而言,在macOS系统使用R和RStudio相对于Windows有一个明显的不足,就是只能使用最新版的R,以及RStduio不能自由的切换R版本。

每当安装最新版的R之后,我们就找不到之前版本的R。例如,我之前使用的是R 3.6.1, 在终端上查看R版本就是3.6.1

当我通过pkg 安装当前最新的4.0.4后,查看R版本就是4.0.4

这是不是意味着,我们安装完新版本的R之后,旧版本的R就被卸载了呢?事实上,macOS在安装R的时候,并不会卸载旧版本的R,而是在 /Library/Frameworks/R.framework/Versions/ 目录下新增新版的R。

$ ls -l /Library/Frameworks/R.framework/Versions/
total 0
drwxrwxr-x  7 root  admin  224  3 25 12:43 3.3
drwxrwxr-x  6 root  admin  192 11 22  2019 3.6
drwxrwxr-x  6 root  admin  192  3 25 12:33 4.0
lrwxr-xr-x  1 root  admin    3  3 25 12:43 Current -> 4.0

换言之,只要我们修改Current的软连接就可以是实现R的版本切换。

cd /Library/Frameworks/R.framework/Versions/
$ R --version
R version 4.0.4 (2021-02-15) -- "Lost Library Book"
sudo rm Current
sudo ln -s 3.6 Current
$ R --version
R version 3.6.1 (2019-07-05) -- "Action of the Toes"

那有没有更加优雅、更加便捷的方式呢?有,我们可以借助于 RSwitch (https://rud.is/rswitch/)

安装之后,在macOS系统的工具栏上就会出现一个图标,点击该突变,我们可以选择不同R版本,然后顺势选择下面的Launch RStudio,启动RStudio。

不过受限于macOS系统,目前只能在大版本中进行选择,不支持4.0.1, 4.0.2, 4.0.3这种小版本的选择。鉴于R的大版本才会增加新特性,导致版本之间不兼容,小版本之间通常都是bug fix,因此也不算比较大的影响。

最后RSwitch的下载地址为: https://rud.is/rswitch/

徐洲更

2021/03/25  阅读:39  主题:全栈蓝

作者介绍

徐洲更