【问题标题】:Difficulty Running Multiple Versions of R from Command Line难以从命令行运行多个版本的 R
【发布时间】:2019-06-12 17:20:15
【问题描述】:

我所在的团队正在运行多个从远程机器 (macos) 调用 R 脚本的 cronjobs。我的同事需要为新脚本运行 3.6,而对我来说必不可少的包尚未更新。我正在尝试在同一台计算机上进行多个安装,因此我们只需指定要在 cronjob 中调用哪个“R”版本。

我知道在 macos 上不建议从源代码安装,所以我一直在尝试按照此处的指示进行操作 https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Multiple-versions 并运行 pkgutil --forget 命令以防止 R 3.6 安装覆盖 R.framework/版本/3.5 目录。

这是我运行的 pkgutil 命令:

sudo pkgutil --forget org.r-project.x86_64.tcltk.x11
sudo pkgutil --forget org.r-project.R.el-capitan.GUI.pkg
sudo pkgutil --forget org.r-project.R.el-capitan.fw.pkg
sudo pkgutil --forget org.r-project.x86_64.texinfo

从 CRAN 安装 3.6 后,当我运行以下行时:

Library/Frameworks/R.framework/Versions/3.5/Resources/bin/R

不是在终端中运行3.5.3控制台,而是弹出3.6控制台。

我对在这里做什么感到困惑 - 我也使用过

ls -la 3.5/Resources/bin | grep "/->"

检查并查看在安装过程中是否创建了会更改版本/位置但没有结果的符号链接,当我在与上面显示的 R 路径相同的目录中运行 Rscript --version 时,我得到以下信息输出:

R scripting front-end version 3.5.3 (2019-03-11)

虽然当我尝试使用 Rscript 的这个位置运行我的脚本时,我得到了与使用 R 3.6 运行它时相同的错误。但是,一旦我重新安装了 R 3.5.3,脚本运行良好。

基本上,我认为最近安装的 R 版本似乎会以某种方式覆盖并运行,无论我如何尝试确保运行的是旧版本。有人可以帮我拼凑出这种情况的发生方式或原因,或者就如何将 R 3.6 安装为默认的“R”提供建议,同时仍允许我根据需要为某些脚本运行 3.5.3?

【问题讨论】:

    标签: r macos installation


    【解决方案1】:

    我也有类似的问题。 https://cran.rstudio.org/doc/manuals/R-admin.html#Uninstalling-under-macOS 上清楚地提到了您观察到的内容:“但是,R.APP 将始终运行‘当前’版本,即最后安装的版本。”。到目前为止,我也不知道如何解决这个问题。使用 Rswitch 手动切换 R 版本效果很好,但我不知道如何将 Rswitch 集成到命令行。

    【讨论】:

      猜你喜欢
      • 2018-10-05
      • 2018-01-30
      • 2018-03-04
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      • 2013-03-15
      相关资源
      最近更新 更多