I tried to install a package, using
install.packages("foobarbaz")
but received the warning
Warning message:
package 'foobarbaz' is not available (for R version x.y.z)
Why doesn't R think that the package is available?
See also these questions referring to specific instances of this problem:
My package doesn't work for R 2.15.2
package 'Rbbg' is not available (for R version 2.15.2)
package is not available (for R version 2.15.2)
package doMC NOT available for R version 3.0.0 warning in install.packages
Dependency ‘Rglpk’ is not available for package ‘fPortfolio’
What to do when a package is not available for our R version?
Is the bigvis package for R not available for R version 3.0.1?
package ‘syncwave’/‘mvcwt’ is not available (for R version 3.0.2)
package ‘diamonds’ is not available (for R version 3.0.0)
Is the plyr package for R not available for R version 3.0.2?
https://stackoverflow.com/questions/21580661/installing-predictabel-package-on-r-2-15-2
Package bigmemory not installing on R 64 3.0.2
package "makeR" is not available (for version 3.0.2)
package ‘RTN’ is not available (for R version 3.0.1)
Trouble Installing geoR package
package ‘twitterR’ is not available (for R version 3.1.0)
How to install 'Rcpp, package? I got "package is not available"
package ‘dataset’ is not available (for R version 3.1.1)
"package ‘rhipe’ is not available (for R version 3.1.2)"
https://stackoverflow.com/questions/31439092/package-dplyr-is-not-available-for-r-version-3-1-1
There seems to be a problem with some versions of
R
andlibcurl
. I have had the same problem onMac (R version 3.2.2)
andUbuntu (R version 3.0.2)
and in both instances it was resolved simply by running this before theinstall.packages
commandThe solution was suggested by a friend, however, I haven't been able to find it in any of the forums, hence submitting this answer for others.
One thing that happened for me is that the version of R provided by my linux distribution (R version 3.0.2 provided by Ubuntu 14.04) was too old for the latest version of the package available on CRAN (in my case,
plyr
version 1.8.3 as of today). The solution was to use the packaging system of my distribution instead of trying to install from R (apt-get install r-cran-plyr
got me version 1.8.1 ofplyr
). Maybe I could have tried to update R usingupdateR()
, but I'm afraid that doing so would interfere with my distribution's package manager.1. You can't spell
The first thing to test is have you spelled the name of the package correctly? Package names are case sensitive in R.
2. You didn't look in the right repository
Next, you should check to see if the package is available. Type
See also ?setRepositories.
To see which repositories R will look in for your package, and optionally select some additional ones. At the very least, you will usually want
CRAN
to be selected, andCRAN (extras)
if you use Windows, and theBioc*
repositories if you do any[gen/prote/metabol/transcript]omicsbiological analyses.To permanently change this, add a line like
setRepositories(ind = c(1:6, 8))
to yourRprofile.site
file.3. The package is not in the repositories you selected
Return all the available packages using
See also Names of R's available packages, ?available.packages.
Since this is a large matrix, you may wish to use the data viewer to examine it. Alternatively, you can quickly check to see if the package is available by testing against the row names.
Alternatively, the list of available packages can be seen in a browser for CRAN, CRAN (extras), Bioconductor, R-forge, RForge, and github.
Another possible warnings message you may get when interacting with CRAN mirrors is:
Which may indicate the selected CRAN repository is currently be unavailable. You can select a different mirror with
chooseCRANmirror()
and try the installation again.There are several reasons why a package may not be available.
4. You don't want a package
Perhaps you don't really want a package. It is common to be confused about the difference between a package and a library, or a package and a dataset.
To see available datasets, type
5. R or Bioconductor is out of date
It may have a dependency on a more recent version of R (or one of the packages that it imports/depends upon does). Look at
and consider updating your R installation to the current version. On Windows, this is most easily done via the
installr
package.(Of course, you may need to
install.packages("installr")
first.)Equivalently for Bioconductor packages, you may need to update your Bioconductor installation.
6. The package is out of date
It may have been archived (if it is no longer maintained and no longer passes
R CMD check
tests).In this case, you can load an old version of the package using
install_version()
An alternative is to install from the github CRAN mirror.
7. There is no Windows/OS X/Linux binary
It may not have a Windows binary due to requiring additional software that CRAN does not have. Additionally, some packages are available only via the sources for some or all platforms. In this case, there may be a version in the
CRAN (extras)
repository (seesetRepositories
above).If the package requires compiling code (e.g. C, C++, FORTRAN) then on Windows install Rtools or on OS X install the developer tools accompanying XCode, and install the source version of the package via:
On CRAN, you can tell if you'll need special tools to build the package from source by looking at the
NeedsCompilation
flag in the description.8. The package is on github/Bitbucket/Gitorious
It may have a repository on Github/Bitbucket/Gitorious. These packages require the
remotes
package to install.(As with
installr
, you may need toinstall.packages("remotes")
first.)9. There is no source version of the package
Although the binary version of your package is available, the source version is not. You can turn off this check by setting
as described in this SO answer by imanuelc and the Details section of
?install.packages
.10. The package is in a non-standard repository
Your package is in a non-standard repository (e.g.
Rbbg
). Assuming that it is reasonably compliant with CRAN standards, you can still download it usinginstall.packages
; you just have to specify the repository URL.RHIPE
on the other hand isn't in a CRAN-like repository and has its own installation instructions.It almost always works for me when I use bioconductor as source and then invoke biocLite. Example: