R中的错误:(仅以源代码形式提供的包,可能需要编译C/C+;+;/Fortran)

R中的错误:(仅以源代码形式提供的包,可能需要编译C/C+;+;/Fortran),r,installation,yaml,stringi,R,Installation,Yaml,Stringi,我正试图在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 或 如何才能正确安装这些软件包?错误是因为R无法在CRAN上找到该软件包的

我正试图在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


如何才能正确安装这些软件包?

错误是因为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“
默认情况下,查找要下载的软件包。如果您看到,您可以在顶部看到
“http://cran.rstudio.com“
实际上会将您重定向到全球不同的服务器(我假设是根据地理位置)

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

我在下面提供了一些URL,以防上面的链接发生变化:

  • 巴西
  • 意大利
  • 日本
  • 南非
  • 美国
  • 您需要按如下方式运行函数
    install.packages

    install.packages('<package_name>', repo='http://nbcgib.uesc.br/mirrors/cran/')
    #or any other url from the list or link
    
    install.packages(“”,repo=)http://nbcgib.uesc.br/mirrors/cran/')
    #或列表或链接中的任何其他url
    
    然后其中一个应该从另一个镜像安装二进制文件

    您需要安装来构建这样的包(即,源程序包而不是二进制程序包)。安装Rtools后,请再次尝试
    install.packages(“ggplot2”)
    ,R将提示您:

    Do you want to attempt to install these from source?
    y/n:
    
    (见下图)

    您需要回答
    y
    ,它将尝试编译包以便安装


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

    在basic R中

  • 去包裹
  • 从本地文件安装软件包 在RStudio

  • 去包裹
  • 安装软件包
  • 从软件包存档文件安装

  • 今天这个问题很难解决,现在先下载windows二进制文件,然后安装

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

    只需转到R Binaries/Windows/contrib,然后将url作为参数复制到install.packages()

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

    任何对我有用的东西,直到我发现我的电脑安装了旧版本的R。卸载所有内容并安装最新的R版本成功了

    你使用的是什么操作系统?看起来你的机器上没有编译器。哎哟!抱歉,我使用的是Windows 7,R-Studio版本0.99.451,R-i386 v.3.2.1。如何获取/安装/连接到R a编译器?您需要安装我使用的是R 3.5版本。我今天也犯了同样的错误。你如何解决这个问题?有人吗@wanax@xkcvk2511今天,我在3.5中也遇到了同样的错误,但仅在
    data.table
    中。其他软件包安装得很好-对你来说怎么样?我已经尝试了不同的镜子,我已经安装了Rtools…完美的作品;因为我以前在安装软件包时没有遇到任何问题,所以我快发疯了。我使用Rstudio,所以我只需更改默认值。非常感谢!按照你的建议,我马上就工作了。我意识到对于我的旧R版本,这个包不能作为二进制文件提供。一旦我升级了它,问题就消失了。谢谢您知道如何将
    y
    yes
    设置为默认值吗?
    install.packages("https://cran.r-project.org/bin/windows/contrib/3.3/stringi_1.1.1.zip", repos =NULL)