如何在R中选择CRAN镜像

问题描述 投票:157回答:11

我正在尝试通过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

r package install cran
11个回答
254
投票

您应该获得一个包含存储库列表的窗口或带有一些选项的文本菜单。但是如果没有出现,您可以使用repos参数指定自己下载软件包的镜像。通过这样做,R将不再向您询问有关存储库的信息。例:

install.packages('RMySQL', repos='http://cran.us.r-project.org')

在这里你有一个用于R的list of mirrors


0
投票

您也可以通过运行它或将其放在Rprofile中来禁用所有图形菜单

options(menu.graphics = FALSE)

0
投票

加入~/.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
})

83
投票

这是我做的,基本上直接来自example(Startup)页面:

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

这是在~/.Rprofile

编辑:现在是2018年,我们可以补充一点,在过去的几年里,网址"https://cloud.r-project.org"更受欢迎,因为它反映了a)https访问和b)“总是靠近你”的CDN。


57
投票

我是粉丝:

chooseCRANmirror()

这将打印输出中的镜像列表(不用担心弹出窗口,因为您从终端运行它),然后输入所需的数字。


24
投票

我使用Dirk建议的〜/ .Rprofile解决方案,但我只想指出这一点

chooseCRANmirror(graphics=FALSE)

似乎是明智的做法,而不是

chooseCRANmirror(81)

,这可能有用,但涉及到神奇的数字81(或者这可能是促进旅游业的微妙方式81 =英国(布里斯托尔):-))


11
投票

存储库选择屏幕无法显示在您的系统(OS X)上,因为OS X不再包含X11。 R试图通过X11向您显示提示。从http://xquartz.macosforge.org/landing/安装X11。然后运行install命令。将显示回购选择提示。


3
投票

如果需要以非交互方式设置镜像(例如,在部署脚本中执行rbundler安装),则可以通过以下方式执行此操作:

首先手动运行:

chooseCRANmirror()

选择最适合您的镜像编号并记住它。然后自动选择:

R -e 'chooseCRANmirror(graphics=FALSE, ind=87);library(rbundler);bundle()'

其中87是您想要使用的镜子的数量。此代码片段还会为您安装rbundle。如果你愿意,可以省略。


2
投票

无论您是在终端中使用R还是在RStudio等IDE中,都会弹出一个下拉菜单供您选择(或者您将获得一组数字可供选择)。 Windows,Mac OS和大多数Linux系统都支持此功能。但是,它可能需要其他配置或依赖项,例如X-windows。

要在使用远程访问时启用X-windows,请使用以下-XY标志:

ssh -XY [email protected]

通常有一个默认仓库,但如果您遇到任何问题,可以指定,例如运行脚本或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,则可以使其他人能够使用您的脚本。


2
投票

我用了

chooseCRANmirror(81)

它会提示您选择国家/地区。然后,您可以通过键入此处指定的国家/地区镜像代码进行选择。


0
投票

在macOS上,我有你说的确切内容:'请选择'提示,然后再没有了。

在我打开(并更新;不知道那是否相关)X-Quartz,然后重新启动R并再次尝试后,我得到一个X窗口的镜像列表,可在几秒钟后选择。第三次起飞速度更快。

© www.soinside.com 2019 - 2024. All rights reserved.