在Big Sur Mac中的终端上,出现了“zsh: command not found: R”的错误提示。

7

我从官方的CRAN网站安装了R,并且可以在Rstudio中运行R,但是当我尝试在终端中使用R时,我得到了以下结果:

(base) ege@Eges-MBP ~ % R  
zsh: command not found: R
(base) ege@Eges-MBP ~ % RScript 
zsh: command not found: RScript

我怎样在我的 Mac 终端启用命令 R 并运行 RScript?


尝试在Rstudio中的终端中打开R(通常在R Console选项卡旁边)。如果可以,请在Rstudio中的终端中键入which R 或者 查看RStudio用于查找R的路径,在“工具”>“全局选项”>“R版本”下方的选项窗口正上方。然后,您可以将该路径添加到$PATH中,或者从R二进制文件创建一个(符号)链接到通常存储您的二进制文件的文件夹中(也许是/usr/local/bin,我不确定在MacOS中是什么)。 - Marcelo Avila
除了 zsh,你能使用其他的 R 终端吗? - Marcelo Avila
嗨,我刚从Windows转到Mac,所以对MacOS还很陌生。我在Rstudio的终端中输入了which R,它没有报错,但是没有返回任何结果。相反,我从终端使用了R.home(),它返回了/Library/Frameworks/R.framework/Resources - Ege Can
1
很棒,你找到了解决方案。只是为了更清楚一点,在RStudio中,“终端”和“R控制台”通常是两个不同的东西。在RStudio中,除了您可以与R环境交互的常规“控制台”之外,还有一个“终端”(以及其他一些选项卡,例如“作业”)。此终端选项卡可以像普通终端一样使用。这有点令人困惑,但你是在控制台中输入R.home(),而不是在终端中输入。(听起来很学究,但正确的术语有助于找到正确的问题和答案 :)) - Marcelo Avila
4个回答

9
可能是由于当前版本的CRAN R安装包存在错误(截至版本4.0.5),影响了某些Big Sur版本。我在这里回答了这个问题:R: command not found
简而言之,如果运行uname -r命令得到的发行版本号大于20,则可能需要手动创建符号链接,因为软件包安装程序未能创建它们。
简而言之:
    sudo -s
    mkdir -p /usr/local/bin
    cd /usr/local/bin
    rm -f R Rscript
    ln -s /Library/Frameworks/R.framework/Resources/bin/R .
    ln -s /Library/Frameworks/R.framework/Resources/bin/Rscript .

谢谢Yuri!我从R Cran安装了R,但由于某种原因,第一步和第三步不需要。但是最后两步在sudo下运行成功了。 - Tim
重启zsh后,对我有效。 - BigTimeStats

5

我发现一种方法可以实现这个。

我首先在我的R控制台上运行了R.home(),找到了R和Rscript的位置。 然后,我按照这篇指南中的步骤,将R.home()返回的位置复制并粘贴到/etc/paths中的新行。

然后,我重新启动了终端,并能够使用RRscript命令。


4

我遇到了类似的问题。通过将下面这行代码(在R中运行R.home()得到)添加到我的.zshrc文件中,我成功解决了这个问题。感谢您的指导。

export PATH="/Library/Frameworks/R.framework/Resources:${PATH}"

3
按照当前的写法,你的答案不够清晰。请编辑并添加额外的细节,以帮助他人理解如何回答问题。您可以在帮助中心找到有关编写良好答案的更多信息。 - Community

1

您需要将 R 二进制文件所在的目录添加到 PATH 环境变量中。

您可以按照以下步骤在当前会话中添加:

PATH=/usr/local/bin/:$PATH

为了在每个新会话中自动完成此操作,请确保将此行添加到您的~/.zshrc文件中:

export PATH="/usr/local/bin/:${PATH}"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接