29

我正在尝试在 R-Studio 中安装 'yaml' 和 'stringi' 包,它不断给我这些错误:

> install.packages("stringi")
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘stringi’
These will not be installed

或者

> install.packages('yaml')
Package which is only available in source form, and may need compilation of C/C++/Fortran: ‘yaml’
These will not be installed

我怎样才能让这些正确安装?

4

7 回答 7

27

该错误是由于 R 无法在 CRAN 上找到该软件包的二进制版本,而只能找到该软件包的版本并且您的 Windows 安装无法编译它。通常这不会发生,但在这种情况下是由 CRAN 的一些镜像(临时)中断引起的。如果您键入:

> getOption('repos')
                                CRAN                            CRANextra 
           "http://cran.rstudio.com" "http://www.stats.ox.ac.uk/pub/RWin" 
attr(,"RStudio")
[1] TRUE

您将看到 R"http://cran.rstudio.com"默认使用来查找要下载的包。如果您看到cran mirrors 网页,您可以在顶部看到"http://cran.rstudio.com"实际上将您重定向到世界各地的不同服务器(我假设根据地理位置)。

当我遇到上述问题时,我通过手动将 repo 更改为提供的链接中的一个 url 来解决它。如果您收到上述错误,我建议您使用不同的国家(甚至大陆)。

如果上面的链接发生变化,我会在下面提供一些网址:

  1. 巴西http://nbcgib.uesc.br/mirrors/cran/
  2. 意大利 http://cran.mirror.garr.it/mirrors/CRAN/
  3. 日本 http://cran.ism.ac.jp/
  4. 南非http://r.adu.org.za/
  5. 美国https://cran.cnr.Berkeley.edu/

您需要install.packages按如下方式运行该函数:

install.packages('<package_name>', repo='http://nbcgib.uesc.br/mirrors/cran/')
#or any other url from the list or link

然后其中一个应该从另一个镜像安装二进制文件。

于 2015-11-06T11:01:43.997 回答
14

您需要安装RTools来构建这样的包(即源包而不是二进制文件)。安装 Rtools 后,再试一次install.packages("ggplot2"),R 将提示您:

Do you want to attempt to install these from source?
y/n:

(见下图)

您需要回答y,它会尝试编译软件包以便安装。

在此处输入图像描述

于 2015-11-07T04:02:39.180 回答
8

今天在这个问题上苦苦挣扎,现在通过首先下载Windows二进制文件然后安装例如解决它

install.packages("https://cran.r-project.org/bin/windows/contrib/3.3/stringi_1.1.1.zip", repos =NULL)

只需转到https://cran.r-project.org/然后 R Binaries/Windows/contrib 并将 url 作为参数复制到 install.packages()

于 2016-09-12T19:43:59.627 回答
2

从 zip 文件安装包 - 可从 r-project 网站下载。

在基本 R

  1. 去包
  2. 从本地文件安装包。

在 RStudio 中

  1. 去包
  2. 安装包
  3. 从包存档文件安装。
于 2016-09-12T12:13:36.157 回答
1

我在使用过时版本的 R时遇到了这个问题,因此没有可用的二进制文件。简单的解决方案是更新我的 R 版本。

于 2019-05-24T21:29:33.917 回答
1

一切都对我有用,直到我发现我的电脑安装了旧版本的 R。卸载所有内容并安装最新的 R 版本有效!

于 2020-03-30T14:51:51.003 回答
0

我必须下载最新版本的 Rtools

在此处输入图像描述

进入下载文件夹并双击它进行安装。

关闭并重新打开任何 R 会话。

现在包应该像正常一样安装。

但是,如果您仍然遇到问题,请尝试从源代码安装包(使用type="source"

像这样:

install.packages("dplyr", type="source")
于 2021-08-03T11:36:39.083 回答