【问题标题】:How to select a CRAN mirror in R如何在 R 中选择 CRAN 镜像
【发布时间】: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,就会出现解释器。我从来没有弹出任何单独的窗口要求选择。

标签: r package installation cran


【解决方案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 选择提示。

【讨论】:

【解决方案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
              })
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2012-01-18
                • 2017-11-15
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多