R:找不到命令

R: command not found

我想安装 rJava 但安装失败,提示如下:

Make sure you have Java Development Kit installed and correctly registered in R.
If in doubt, re-run "R CMD javareconf" as root.

ERROR: configuration failed for package ‘rJava’
* removing ‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/rJava’
* restoring previous 
‘/Library/Frameworks/R.framework/Versions/4.0/Resources/library/rJava’

因此,我在终端中遵循了这个建议(以及其他人似乎建议的那个)和 运行 R CMD javereconf 但现在我收到的消息是 zsh: command not found: R.

如何让 R CMD javereconf 工作? 谢谢。

编辑:虽然我遵循了@Till 建议的博文,但我仍然努力 运行 R CMD javereconf (同样的错误)。与此同时,我想我应该提到我正在使用带有 Apple M1 芯片的 MacOS Big Sur。 当键入 R.home() RStudio returns /Library/Frameworks/R.framework/Resources/R.

通过 运行ning R.home() 在 Rstudio 的 R 控制台上找到 R 和 Rscript 在磁盘上的位置。 然后,按照 this 指南并从 R.home() 复制返回的位置并粘贴到 /etc/paths.

的新行

然后,重启终端和运行 R CMD javareconf

目前 CRAN 的 R 安装包中存在一个错误,导致它无法正确安装符号链接到 RRscript 以供命令行使用。我刚刚通过检查他们的 4.0.5 安装包中的 postflight 脚本验证了这一点。

基本上,存在一个问题,其中 uname 检查不知道 20 及更高版本的操作系统。

如果您的 uname -r 发布版本超过 20,这就可以解释安装失败的原因。我的建议是通过执行以下操作手动创建包应该创建的符号链接:

if uname -r | grep '^2' >/dev/null; then
    ## 15.0 and higher don't allow messing with /usr/bin
    ## so use /usr/local/bin instead
    if [ ! -e /usr/local/bin ]; then
        mkdir -p /usr/local/bin
    fi
 
    cd /usr/local/bin

    # create convenience links to R and Rscript
    rm -f R Rscript
    ln -s /Library/Frameworks/R.framework/Resources/bin/R .
    ln -s /Library/Frameworks/R.framework/Resources/bin/Rscript .
fi

我很快就会提交 R-project 的错误。