我正在尝试编译我的 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 版本?如何找到正确的路径?
谢谢!
我敢打赌 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。
归档时间: |
|
查看次数: |
3546 次 |
最近记录: |