【问题标题】:Understanding install.packages() behaviour re repos and dependencies了解 install.packages() 行为 repos 和依赖项
【发布时间】:2015-12-06 13:59:59
【问题描述】:

我(终于)通过直接从 R 安装 ggplot2 并关闭防病毒软件。 (它之前在移动 stringi 和 magrittr 的临时文件时失败了,所以我关注了the advice in StackOverflow。)

它奏效了。但我对它的行为有一些疑惑。我使用的命令是:

install.packages("ggplot2", repos = getOption("repos"), dependencies = TRUE)

结果发生的两件事让我感到困惑:

  • 它没有问我想使用什么存储库 - 只是去了 帝国(我觉得很好)

  • 它没有安装依赖项 - 我在安装时发现了
    库,所以我一个一个手动安装了缺少的(幸运的是 只有两个——我尝试过的两个失败了 使用我的防病毒软件从 RStudio 安装)

我已阅读有关 install.packages() 的文档,但还没有理解,因为这两种行为都与我的预期不同。我想我会得到一个关于要去哪个 repos 的查询,并且我想我会在安装时获得依赖项标记。

谁能解释一下?

谢谢。

【问题讨论】:

  • 依赖项令人惊叹。它应该可以正常工作。我知道install.package忽略依赖项的唯一情况是NULL repos
  • 我想知道(尝试)以交互方式设置 repos 是否会忽略依赖标志?

标签: r installation dependencies packages


【解决方案1】:

总是安装依赖项。这就是

  1. 拥有回购 - 以及为什么 CRAN 在这 20 年中如此重要,以及
  2. DESCRIPTION 中声明依赖关系。

现在,我在启动文件中设置了我的存储库(在我的情况下为Rprofile.site,请参阅help(Startup) 及其示例部分了解如何操作)。您也可以在拨打install.packages() 之前拨打options()dependencies=TRUE 也是多余的。

但是认为你需要检查并没有告诉我们:源码安装还是二进制安装?什么操作系统?你的 R 版本是什么,它是否与 repos 的预期相吻合——R 上的 当前 版本?

【讨论】:

  • 二进制。视窗。 3.2.0,这不是最新的。你认为它失败是因为我不在 3.3.2 上吗?
  • 您的回答阐明了有关依赖项的设计行为,谢谢。至于存储库,我没有设置默认值,但可能是已经在我的会话中安装了一个包,从选择列表中选择了存储库,该选项将被设置并为会话保持设置(不管我试图告诉它作为参数的任何难以消化的东西?)如果是这样,行为重新。存储库是有意义的。
猜你喜欢
  • 1970-01-01
  • 2018-05-12
  • 2018-01-23
  • 1970-01-01
  • 1970-01-01
  • 2021-03-06
  • 1970-01-01
  • 2019-01-09
  • 1970-01-01
相关资源
最近更新 更多