嗯,稍微偏离了 OP 的主题,但相关的答案:
微软存储了 CRAN 的每日快照。这项免费服务称为 MRAN。
您可以将 MRAN 每日快照设置为repos选项,并install.packages()在下载时使用该存储库。这样,您始终可以从特定时间点下载软件包。在您的情况下,您总是想要最新的,因此Sys.Date()请用作您选择的日期。
# MRAN snapshots
base_url <- "http://mran.revolutionanalytics.com/snapshot/"
# download from MRAN on this date
when <- Sys.Date() # or any date as YYYY-MM-DD
# set options
options(repos = list(CRAN = paste0(base_url, when)))
# the repo option set above defines where to download packages from
install.packages("my_package")
这在使用 Docker 构建生产级 R 代码时特别有用,因为您可以确保安装到映像中的包始终来自相同的静态日期。我使用这样的东西:
ARG WHEN
RUN R -e "options(repos = \
list(CRAN = 'http://mran.revolutionanalytics.com/snapshot/${WHEN}')); \
install.packages('my_package')"