安装了多个版本的 R - 终端从 RStudio 启动错误/不同的 R

Can*_*ice 8 macos r

我正在尝试编译我的 R 包,并意识到我的 Mac 上安装了多个版本的 R,这给我带来了困难。当我从终端运行“which R”时,我收到:

Home$ which R
/Users/Home/anaconda2/bin/R

Home$ R
R version 3.2.2 (2015-08-14) -- "Fire Safety"
Run Code Online (Sandbox Code Playgroud)

但是,当我从应用程序文件夹启动 RStudio 并在控制台中键入“版本”时,我得到以下信息:

> version
               _                           
platform       x86_64-apple-darwin13.4.0   
arch           x86_64                      
os             darwin13.4.0                
system         x86_64, darwin13.4.0        
status                                     
major          3                           
minor          3.2                         
year           2016                        
month          10                          
day            31                          
svn rev        71607                       
language       R                           
version.string R version 3.3.2 (2016-10-31)
nickname       Sincere Pumpkin Patch      
Run Code Online (Sandbox Code Playgroud)

所以我在 RStudio 上有 3.3.2(我想要编译我的包的版本),当我在终端中输入 R 时,来自 anaconda 的 3.2.2 正在终端中启动。

我怎样才能解决这个问题?从终端启动时,是否必须更改路径才能找到正确的 R 版本?如何找到正确的路径?

谢谢!

ran*_*ies 6

我敢打赌 anaconda 刚刚在您的 PATH 变量的前面插入了它的路径,并在终端上覆盖了您较新的 3.3.2 版本。如果您希望您的 'RStudio' 版本成为在您键入 'R' 时在终端上弹出的默认版本,那么您必须修改您的 PATH。没什么大不了的。

首先,找出 RStudio 指向哪个 R 版本。在您的 RStudio 控制台中键入以下内容:

Sys.which("R")
Run Code Online (Sandbox Code Playgroud)

我打赌你会看到类似 /usr/local/bin/R 的东西。所以这就是您必须添加到 PATH 前面的内容(减去“/R”)。

要确认 anaconda 把你搞砸了,打开你的终端并检查你的 PATH:

echo $PATH
Run Code Online (Sandbox Code Playgroud)

您可能会看到 /Users/YOURNAME/anaconda2/bin 作为 PATH 中的第一个条目,再往下您会看到 /usr/local/bin。我们必须颠倒这个顺序。有一百万种方法可以解决这个问题。这是快速而肮脏的解决方案 - 将以下内容添加到 .bash_profile 的底部

export PATH="/usr/local/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)

R --version在您的终端中输入以确认您的默认 R 已更改。

如果您的 PATH 中有两个 /usr/local/bin 条目让您烦恼(就像我一样),您稍后可能会喜欢 sed 或 awk。