如何在Mac的R版本之间使用`ln -s`进行切换?

时间:2019-06-06 15:59:35

标签: r

RStudio support article说,如果您“直接使用ln -s更新R.framework / Versions /当前目录别名,则可以在Mac上的不同R版本之间进行切换

您究竟如何使用ln -s在R版本之间进行切换?

当我在终端机ls -l /Library/Frameworks/R.framework/Versions/中键入内容时,我会看到:

total 0
drwxrwxr-x  6 root  admin  192 Jan 15 09:04 3.3
drwxrwxr-x  6 root  admin  192 Jun  5 16:36 3.5
drwxrwxr-x  3 root  admin   96 Jun  5 16:36 3.6
lrwxr-xr-x  1 root  admin    3 Jun  5 16:36 Current -> 3.5

但是我不确定如何使用ln -s在这些R版本之间交替。我目前已经通过重新下载3.5从3.6切换到3.5。我想避免这种做法。

在终端中,我键入了rm /Library/Frameworks/R.framework/Versions/Current,但确实删除了现有的Current。然后在单独尝试中,我键入了ln -s 3.6 /Library/Frameworks/R.framework/Versions/Current

这更改了符号链接

ls -l /Library/Frameworks/R.framework/Versions/ 
total 0 
drwxrwxr-x 6 root admin 192 Jan 15 09:04 3.3 
drwxrwxr-x 6 root admin 192 Jun 5 16:36 3.5 
drwxrwxr-x 4 root admin 128 Jun 6 09:09 3.6 
lrwxr-xr-x 1 joepowers admin 3 Jun 6 09:15 Current -> 3.6

但是当我在控制台中键入R.version时,我会返回3.4.3

接下来我尝试了

ln -s /Library/Frameworks/R.framework/Versions/3.6 /Library/Frameworks/R.framework/Versions/Current
ls -l /Library/Frameworks/R.framework/Versions/
total 0
drwxrwxr-x  6 root       admin  192 Jan 15 09:04 3.3
drwxrwxr-x  3 root       admin   96 Jun  6 09:21 3.5
drwxrwxr-x  7 root       admin  224 Jun  6 09:21 3.6
lrwxr-xr-x  1 joepowers  admin   44 Jun  6 09:23 Current -> /Library/Frameworks/R.framework/Versions/3.6

但是即使重新启动RStudio之后,在控制台中键入R.version仍返回3.4.3。

1 个答案:

答案 0 :(得分:0)

ln -s创建一个符号链接,也称为别名(在Mac上为别名)或快捷方式(在Windows中)。

启动R后,RStudio会在/Library/Frameworks/R.framework/Versions/Current中加载R的版本。

从上面发布的视图中,我们可以看到您安装了3个版本的R(3.33.53.6)。 /Current实际上是到3.5的符号链接(这就是Current -> 3.5的意思)。

如果要更改此设置,则需要:

  1. 使用以下地址转到相应的目录:cd /Library/Frameworks/R.framework/Versions/
  2. 使用以下名称删除现有的Current符号链接:rm Current
    • rm将删除目录的符号链接,但不会删除目录本身
  3. 使用ln -s 3.6 Current
  4. 创建到版本3.6的新符号链接。