4

我正在使用带有 Microsoft R Open 3.3.2 的 RStudio 1.0.136 当我执行 File --> New File --> R Markdown... 它说

rmarkdown 1.2 是必需的,但 1.1 可用

检查 getOption("repos") 是否引用了包含所需包版本的 CRAN 存储库

getOption("repos")给了我这个:

                                                      CRAN 
"https://mran.revolutionanalytics.com/snapshot/2016-11-01" 
                                                 CRANextra 
                      "http://www.stats.ox.ac.uk/pub/RWin" 

我从这里去哪里?

4

1 回答 1

8

我们对 MRO(和其他 MS R 发行版)所做的一件事是将默认存储库指向静态时间点快照,以实现可重复性。

来自https://mran.revolutionanalytics.com/documents/rro/reproducibility/

例如,您昨天使用的一个包可能在一夜之间更新了,或者它的一个依赖项更新了,现在您的脚本不再按预期工作。开发人员想知道,“他们打算什么时候修复和更新这个包?我需要重写我的脚本吗?” 每当他们的维护者选择这样做时,包就会得到修复——无论是今天、明天还是下个月。每次一个包中断时,所有使用该版本包的脚本也会如此。这种方法显然不是最理想的R 程序员渴望的稳定性。

同样,每当用户指向最新的 CRAN 存储库时,install.packages 今天可以为“User_A”安装一个版本的软件包,为指向不同镜像的“User_B”安装同一软件包的另一个版本,甚至是“未安装的软件包”。 'User_C' 明天尝试安装时发现”错误。再一次,这种不一致在共享脚本时提出了挑战。

就您而言,您使用的快照截至 2016 年 11 月 1 日。当时,rmarkdown 的最新版本是 1.1。如果您运行install.packages,您将获得该版本,而不是任何更新的版本。

如果你肯定想要 rmarkdown 1.2,你可以在你的install.packages调用中覆盖默认的 repo:

install.packages("rmarkdown", repos="https://cloud.r-project.org")
于 2017-02-17T15:37:05.893 回答