I tried to install a package, using
package 'foobarbaz' is not available (for R version x.y.z)
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, and
CRAN (extras) if you use Windows, and the
Bioc* repositories if you do any
[gen/prote/metabol/transcript]omics biological analyses.
To permanently change this, add a line like
setRepositories(ind = c(1:6, 8)) to your
3. The package is not in the repositories you selected
Return all the available packages using
ap <- 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.
View(ap) "foobarbaz" %in% rownames(ap)
Another possible warnings message you may get when interacting with CRAN mirrors is:
Warning: unable to access index for repository
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.
A package is a standardized collection of material extending R, e.g. providing code, data, or documentation. A library is a place (directory) where R knows to find packages it can use
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
(Of course, you may need to
Equivalently for Bioconductor packages, you may need to update your Bioconductor installation.
6. The package is out of date
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 (see
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:
install.packages("foobarbaz", type = "source") # Or equivalently, for Bioconductor packages: source("http://bioconductor.org/biocLite.R") biocLite("foobarbaz", type = "source")
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
devtools package to install.
library(devtools) install_github("packageauthor/foobarbaz") install_bitbucket("packageauthor/foobarbaz") install_gitorious("packageauthor/foobarbaz")
installr, you may need to
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
options(install.packages.check.source = "no")
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 using
install.packages; you just have to specify the repository URL.
install.packages("Rbbg", repos = "http://r.findata.org")