[英]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.