问题
I'm trying to install the 'yaml' and 'stringi' packages in R-Studio, and it keeps giving me these errors:
> 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
or
> 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
How can I get these to install properly?
回答1:
The error is due to R being unable to find a binary version of the package on CRAN, instead only finding a source version of the package and your Windows installation being unable to compile it. Usually this doesn't occur, but in this case was caused by the (temporary) outage of some of the mirrors at CRAN. If you type:
> getOption('repos')
CRAN CRANextra
"http://cran.rstudio.com" "http://www.stats.ox.ac.uk/pub/RWin"
attr(,"RStudio")
[1] TRUE
You will see that R uses "http://cran.rstudio.com"
by default to look for a package to download. If you see the cran mirrors web page you can see at the top that "http://cran.rstudio.com"
actually redirects you to different servers world wide (I assume according to the geo location).
When I had the above issue, I solved it by manually changing the repo to one of the urls in the link provided. I suggest you use a different country (or even continent) in case you receive the above error.
I provide below some of the urls in case the link above changes:
- Brazil http://nbcgib.uesc.br/mirrors/cran/
- Italy http://cran.mirror.garr.it/mirrors/CRAN/
- Japan http://cran.ism.ac.jp/
- South Africa http://r.adu.org.za/
- USA https://cran.cnr.Berkeley.edu/
You need to run the function install.packages
as follows:
install.packages('<package_name>', repo='http://nbcgib.uesc.br/mirrors/cran/')
#or any other url from the list or link
One of them should then work to install a binary from an alternative mirror.
回答2:
You need to install RTools to build packages like this (i.e., a source package rather than a binary). After you install Rtools, then try again to install.packages("ggplot2")
and R will prompt you with:
Do you want to attempt to install these from source?
y/n:
(see the picture below)
You need to answer y
and it will try to compile the package so it can be installed.
回答3:
Struggled with this issue today, solved it for now by first downloading the windows binary and then installing e.g.
install.packages("https://cran.r-project.org/bin/windows/contrib/3.3/stringi_1.1.1.zip", repos =NULL)
Just go to https://cran.r-project.org/ and then R Binaries/Windows/contrib and copy the url as argument to install.packages()
回答4:
Install the package from a zip file - downloadable from the r-project website.
In basic R
- go to Packages
- Install packages from local files.
In RStudio
- go to Packages
- Install packages
- Install from Package Archive File.
回答5:
I had this issue when using an out-of-date version of R, so no binaries were available. The simple solution was to update my version of R.
来源:https://stackoverflow.com/questions/31249980/error-in-r-package-which-is-only-available-in-source-form-and-may-need-compil