R:找不到命令

问题描述

我想安装 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 返回 /Library/Frameworks/R.framework/Resources/R

解决方法

目前 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 提交错误。

,

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

然后,重新启动终端并运行 R CMD javareconf

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...