【问题标题】:R CMD defaults to R version selection screen in Linux terminalR CMD 默认为 Linux 终端中的 R 版本选择屏幕
【发布时间】:2021-07-16 21:20:40
【问题描述】:

当我在我的 Linux 终端中输入 R CMD ... 时,我会收到一个对话框来选择我要运行的 R 版本:

$ R CMD
Available Versions:
------------------------
3.4.0
3.4.1
3.4.2
3.4.4
3.5.0
3.5.1
3.5.2
3.5.3
3.6.0
3.6.1
4.0.2
Enter The R Version You'd Like To Run: 

是否可以通过命令行轻松解决此问题?

@MrFlick 发现的问题如下

R 版本的选择来自 R 命令的非标准包装器:

$ which R
alias R='/opt/rVersionSelect.sh'
        /opt/rVersionSelect.sh

这是脚本,你可以在其中看到选择机制:

$ head -500 /opt/rVersionSelect.sh
#!/bin/bash

RDIR=/opt/R

echo "Available Versions:"
echo "------------------------"

for rVer in $RDIR/* ; do
    echo $(echo $rVer | cut -d- -f2)
done

read -n 5 -p "Enter The R Version You'd Like To Run: " RunThisVersion

if [ -d $RDIR/R-$RunThisVersion/ ] ; then
    echo "Loading $RunThisVersion...."
    wait 10
    clear
    $RDIR/R-$RunThisVersion/bin/R --interactive
else
    echo "Unrecognized Version: $RunThisVersion"
fi

事实证明,R CMD 中的 R 需要指向已安装的众多 R 版本之一。例如,/opt/R/R-3.5.3/bin/R CMD

【问题讨论】:

  • 这看起来很奇怪。这不是R CMD 的正常行为。 which R 返回什么? R 命令周围有一些非标准的包装器吗?
  • 我很确定我找到了下面的解决方案。从which R 我得到alias R='/opt/rVersionSelect.sh'。是的,R 命令有一个非标准的包装器。我会将其放在原始问题帖子中。
  • 您所描述的不是 R 在大多数系统上的安装方式。您必须进行一些非标准安装。目前尚不清楚您的系统是如何配置的,因此不清楚还有谁会遇到问题。您提供的“解决方案”对大多数人都不起作用。最好明确说明在什么情况下这是必要的。 rVersionSelect.sh 是从哪里来的?那是你写的剧本吗?
  • 真正的问题是包装器写得不好,并且似乎没有考虑到对 R 的非交互式调用,例如R CMD。目前尚不清楚该包装器来自何处,但问题就在那里,而不是 R 本身。或许咨询您的系统管理员以找到推荐的解决方法。
  • rVersionSelect.sh 被管理员放在那里,我没有管理员权限。我同意更好的脚本应该能够容纳异常,例如R CMD

标签: r linux installation command-line package


【解决方案1】:

我处理它的方法是进入 RStudio 实例,打开一个项目,然后配置构建工具。然后我可以使用 Build 菜单中的选项实现相同的目标。我认为这个问题有可取之处,因为困难的 R 包安装会建议使用R CMD ... 来进行安装。

【讨论】:

    【解决方案2】:

    对于R CMD 中的R,看起来我需要指向 R 的众多安装之一。例如,/opt/R/R-3.5.3/bin/R CMD INSTALL rJava 在终端中给我的结果与使用 Build,在 Rstudio 中安装并重新启动

    当我尝试编写像 R CMD javareconf 这样的自定义构建脚本时,它无法在 RStudio 中执行。但/opt/R/R-3.5.3/bin/R CMD javareconf 在终端中成功执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 2020-10-21
      • 2014-12-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多