[英]Avoid being asked for CRAN mirror?
从终端运行 R 时,我们有时会看到
--- Please select a CRAN mirror for use in this session ---
是否有一种通用、高效且令人难忘的方式来install.packages("example")
而无需记住 url 或与对话框交互?
也就是说,有没有办法安装 R package 这是:
.Rprofile
)最后,理想情况下,一种简短且令人难忘的方法(或无需查找即可轻松使用)。
这是一个理想解决方案的伪代码示例(其中'force'是'选择最明显的默认值并不惜一切代价按下'的伪代码!)
force(install.packages("example"))
如果您运行help("install.packages")
,您可以看到存储库的默认值为repos = getOption("repos")
。 如果您按照这条线索找到help("getOption")
,它会提供更多见解。 这是repos
选项的内容。
回购:
update.packages 使用的存储库的 URL。 默认为 c(CRAN="@CRAN@"),该值会导致某些实用程序提示输入 CRAN 镜像。 为避免这种情况,请设置 CRAN 镜像,例如 local({r <- getOption("repos"); r["CRAN"] <- "http://my.local.cran"; options(repos = r )})。
您可以通过进入 R 安装的“etc/”子目录看到这一点。 那里有一个名为“存储库”的文件。 虽然其他一些存储库(例如,R-Forge)具有默认 URL,但 CRAN 没有。 它显示了帮助文件引用的@CRAN@
。
R 文档建议您某些实用程序(例如您在命令行中遇到的)会提示您输入镜像,除非明确设置了该选项。 该文档并未指示替代解决方法。
之所以不能有一个 function 告诉它使用“最明显的默认值”,是因为实际上没有默认值。 所以像你假设的force()
这样的方法是不可能的。
包含更多信息的编辑:
您可以使用utils
中的一些帮助程序来设置repos
选项。 我不确定您的标准是否容易记住,但有chooseCRANmirror()
和getCRANmirrors()
。
# this should work
chooseCRANmirror(ind = 1)
install.packages("example")
# or this clunky approach
install.packages("example", repos = getCRANmirrors()[1,"URL"])
但老实说,你最好记住repos = https://cloud.r-project.org/
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.