如何在 R 中选择 CRAN 镜像
Posted
技术标签:
【中文标题】如何在 R 中选择 CRAN 镜像【英文标题】:How to select a CRAN mirror in R 【发布时间】:2012-07-14 08:21:35 【问题描述】:我正在尝试通过 R 提示符安装软件包,方法是执行以下操作:
install.packages('Rmysql')
但是输出如下:
--- Please select a CRAN mirror for use in this session ---
没有别的了!我找不到这个非常基本的问题的解决方案。为了选择 CRAN 镜像,我应该输入什么?
编辑:
操作系统:Mac-OS X 10.6.8 R 版本:2.15.0
【问题讨论】:
它应该提供一个从 1 到 100 对应镜像的数字列表,尝试输入 84 并回车 还要添加你正在使用的操作系统,以及 R 的版本 要么会弹出一个窗口,其中包含选择项,要么应在控制台中显示选择项列表。您是否检查了带有选项的单独窗口?你是如何运行 R 的? @pyCthon 我输入了 84,但没有返回任何内容。 @sayhey69 我只是通过从终端调用提示符来运行 R。我只需输入 r,就会出现解释器。我从来没有弹出任何单独的窗口要求选择。 【参考方案1】:您应该获得一个带有存储库列表的窗口或带有一些选项的文本菜单。但是如果没有出现,您可以随时使用repos
参数指定从哪里下载包的镜像。通过这样做,R 将不再询问您有关存储库的信息。示例:
install.packages('RMySQL', repos='http://cran.us.r-project.org')
这里有一个list of mirrors 代表 R。
【讨论】:
对我来说,repos弹窗来了,我点了一个镜像,然后什么也没发生;同时,这工作得很好。程序化解决方案 > 交互式解决方案,照常!谢谢! 这里有一些镜像可供选择,请善待:cran.r-project.org/mirrors.html 我发现这是将最近的软件包安装到 MRO 中的有用解决方法。我花了一天时间尝试安装最近构建的软件包,但checkpoint
函数没有像使用 Anaconda 的 R 发行版 v3.4.3 所描述的那样工作,快照设置为 2017-09-01。【参考方案2】:
这是我所做的,基本上直接来自example(Startup)
页面:
## Default repo
local(r <- getOption("repos")
r["CRAN"] <- "http://cran.r-project.org"
options(repos=r)
)
在~/.Rprofile
。
编辑: 因为现在是 2018 年,我们可以补充一点,在过去几年中,URL "https://cloud.r-project.org"
更可取,因为它反映了 a) https 访问和 b) “始终靠近-你”CDN。
【讨论】:
我认为这应该是公认的答案。 It Just Works(tm),在所有情况下,包括在无头系统(服务器、物联网等)上。谢谢,德克。 几年后的事后看来,我们现在是一个正确的 CDN,可以保证每个人都在网络上接近,我们现在使用https
,所以将这个https://cloud.r-project.org
作为 URL。
我希望你不要介意,Dirk,但我只是编辑了你的帖子以反映你的建议。
如果我想要的话,我可以在四个小时前自己完成。我更愿意让历史记录说话。但是因为破坏者会来,所以我写了一个附言。【参考方案3】:
我喜欢:
chooseCRANmirror()
这将在输出中打印镜像列表(不用担心弹出窗口,因为您是从终端运行它),然后输入您想要的数字。
【讨论】:
糟糕,chooseCRANmirror(81)
会提示您输入数字。全部在控制台中。
注意:这似乎不会更新 /etc/R/Rprofile.site 或 ~/.Rprofile。 (所以,选择一个已经消失的替代旧镜像是不好的。最好直接编辑上面的文件。)
@DarrenCook 你可能是对的,但我发现很多人会被这些文件吓倒。我知道我是。
chooseCRANmirror(ind=81)
可能是 Jared 的意思。它会绕过提示。
也可以在.Rprofile
中设置options(menu.graphics = FALSE)
【参考方案4】:
存储库选择屏幕无法在您的系统 (OS X) 上显示,因为 OS X 不再包含 X11。 R 尝试通过 X11 向您显示提示。从http://xquartz.macosforge.org/landing/ 安装 X11。然后运行安装命令。将显示 repo 选择提示。
【讨论】:
这应该是公认的答案。有关 OS X 中 X11 支持的 Apple 支持文章位于 support.apple.com/kb/HT5293?viewlocale=en_US&locale=en_US 这个问题很可能是因为X11导致窗口不显示,但可以说chooseCRANmirror()
/repos
参数是更简单的解决方案。【参考方案5】:
我用过
chooseCRANmirror(81)
它会提示您选择国家。 然后您可以通过键入那里指定的国家/地区镜像代码来进行选择。
【讨论】:
【参考方案6】:我使用 Dirk 建议的 ~/.Rprofile 解决方案,但我只是想指出
chooseCRANmirror(graphics=FALSE)
似乎是明智的做法,而不是
chooseCRANmirror(81)
,这可能有效,但涉及到神奇的数字 81(或者这是将旅游业推广到 81 = 英国(布里斯托尔):-) 的微妙方式)
【讨论】:
【参考方案7】:如果您需要以非交互方式设置镜像(例如在部署脚本中进行 rbundler 安装),您可以这样做:
第一次手动运行:
chooseCRANmirror()
选择最适合您的镜像编号并记住它。然后自动选择:
R -e 'chooseCRANmirror(graphics=FALSE, ind=87);library(rbundler);bundle()'
其中 87 是您要使用的镜像编号。这个 sn-p 还会为您安装 rbundle。如果你愿意,你可以省略它。
【讨论】:
【参考方案8】:在 macOS 上,我有您所说的确切内容:“请选择”提示,然后仅此而已。
在我打开(并更新;不知道这是否相关)X-Quartz,然后重新启动 R 并再次尝试后,几秒钟后我得到了一个 X-window 镜像列表可供选择。第三次以后更快了。
【讨论】:
【参考方案9】:你也可以通过运行它或将它放在你的 Rprofile 中来禁用所有的图形菜单
options(menu.graphics = FALSE)
【讨论】:
【参考方案10】:应该会弹出一个下拉菜单供您选择(或者您会得到一堆可供选择的数字),无论您是在终端中使用 R 还是在 RStudio 等 IDE 中使用。这在 Windows、Mac OS 和大多数 Linux 系统上受支持。但是,它可能需要额外的配置或依赖项,例如 X-windows。
要在使用远程访问时启用 X-windows,请使用以下 -XY
标志:
ssh -XY username@server.domain
通常有一个默认 repo,但如果您有任何问题,例如运行脚本或 Rmarkdown/knitr,可以指定它。每次安装时,您都可以使用 repo
opset 镜像或 CRAN 存储库:
install.packages("package", repo="<your.nearest.mirror>")
建议使用离您最近的镜像以加快下载速度。例如:
install.packages("RMySQL", repos="https://cran.stat.auckland.ac.nz/")
您还可以在会话中设置repos
选项,这样每次交互式会话(或脚本)只需设置一次。可以查看repos
是否配置了:
options(repos)
如果您得到"Error in options(repos) : object 'repos' not found"
,那么您可以设置存储库选项。例如:
options(repos = "https://cran.stat.auckland.ac.nz/")
然后它应该像往常一样安装软件包。例如:
install.packages("RMySQL")
正如其他人所提到的,您可以在 .Rprofile
文件中配置存储库,并在您的所有脚本中进行这项工作。您是喜欢系统上的这些“全局”选项还是会话或脚本中的“本地”选项取决于您。这些“本地”选项需要更多时间来使用每个会话,但如果其他人没有您的 .Rprofile
,他们也可以使用您的脚本。
【讨论】:
【参考方案11】:加入~/.Rprofile
local(r <- getOption("repos")
r["CRAN"] <- "mirror_site" #for example, https://mirrors.ustc.edu.cn/CRAN/
options(repos=r)
options(BioC_mirror="bioc_mirror_site") #if using biocLite
)
【讨论】:
以上是关于如何在 R 中选择 CRAN 镜像的主要内容,如果未能解决你的问题,请参考以下文章
如何创建R包并将其发布在 CRAN / GitHub 上--转载