在 R 中设置默认 CRAN 镜像永久

如何在 R 中永久设置特定的 CRAN 镜像?

我想在我的笔记本电脑永久设置它,这样当我做 install.packages(),它不会再问我选择哪一面镜子。

58743 次浏览

您可以设置 repos在您的 .Rprofile恢复您的选择,每次您开始 R

Edit: to be more precise:

options(repos=structure(c(CRAN="YOUR FAVORITE MIRROR")))

到你的 。轮廓


Alternatively, you can set the mirror site-wide in your Rprofile.site. The location of the file is given by ?Startup:

该文件的路径取自 R_PROFILE的值 环境变量(在波动展开后)。如果这个变量是 取消设置,则默认值为 R_HOME/etc/Rprofile.site,如果 它存在(在“新鲜出厂”的安装中不存在)。

第一个选项是 Sys.getenv("R_PROFILE"),第二个选项是 Sys.getenv("R_HOME")R.home()。在 macOS 上,第二个的位置是 /Library/Frameworks/R.framework/Resources/etc/

该文件可能不存在,或者您可能会看到以下行被注释掉:

# set a CRAN mirror
# local({r <- getOption("repos")
#       r["CRAN"] <- "http://my.local.cran"
#       options(repos=r)})

因此,删除评论标记并将“ http://my.local.cran”更改为正确的网站,例如:

local({r <- getOption("repos")
r["CRAN"] <- "http://cran.r-project.org"
options(repos=r)})

如果您试图在 RStudio 中执行此操作,您可以通过 RStudio UI (Tools-> Global Options-> Packages)执行此操作,或者使用文件 ~/.config/rstudio/rstudio-prefs.json并为 https://cran.rstudio.com/放入以下内容。

{
"cran_mirror": {
"name": "Global (CDN)",
"host": "RStudio",
"url": "https://cran.rstudio.com/",
"country": "us",
"ok": 1,
"secondary": ""
}
}

您可能已经在其中设置了其他选项,因此可以将 cran_mirror添加到列表中。

我当前系统(RStudio Server 2022.02.2 Build 485Ubuntu 20.04.4 LTS)上的完整文件如下所示:

{
"initial_working_directory": "~",
"margin_column": 120,
"scroll_past_end_of_document": true,
"highlight_r_function_calls": true,
"rainbow_parentheses": true,
"posix_terminal_shell": "bash",
"default_project_location": "~",
"jobs_tab_visibility": "shown",
"source_with_echo": true,
"save_workspace": "never",
"load_workspace": false,
"always_save_history": false,
"data_viewer_max_columns": 500,
"cran_mirror": {
"name": "Global (CDN)",
"host": "RStudio",
"url": "https://cran.rstudio.com/",
"country": "us",
"ok": 1,
"secondary": ""
}
}

In one instance, the .Rprofile edit suggested above did not work. However, the following code did:

utils::setRepositories(ind = 0, addURLs = c(CRAN = "YOUR FAVORITE MIRROR"))

其中“您最喜欢的镜子”是网址,而不是名称。

方法后重新启动 R。侧写。ind = 0将指示您只需要指定的存储库。其他存储库可以包含在 addURLs =选项中,并在字符向量中用逗号分隔。