Welcome to R-universe!
We are now running a pilot allowing anyone to add custom (non-cran) packages to their universe!
# Install 'magick' from 'ropensci' universe
install.packages('magick', repos = 'https://ropensci.r-universe.dev')
# Install 'curl' from 'jeroen' universe
install.packages('curl', repos = 'https://jeroen.r-universe.dev')
Or enable a universe globally:
# Enable multiple universes
options(repos = c(
ropensci = 'https://ropensci.r-universe.dev',
jeroen = 'https://jeroen.r-universe.dev',
cran = 'https://cran.r-project.org'))
# Update some packages
install.packages(c("magick", "openssl", "pdftools", "drake"))
Package source code for all universes is tracked on https://github.com/r-universe.
Enable your personal universe
To setup a universe for your own GitHub user or organization:
- Create a repository called universe on the GitHub account for which you want to create a universe. The repository must contain a file called packages.json in the standard format, defining the package and git url for the packages you want to include. For example: https://github.com/maelle/universe. Start by adding no more than a few packages, you can add more later.
- Install the r-universe app on the GitHub account that you want to enable. Choose "enable for all repositories".
- After a few minutes, your source universe will appear on: https://github.com/r-universe/:yourname
- The universe automatically starts building the packages from your registry. In addition, it will include packages that referenced as Remotes in the description file of one of those packages.
- The universe automatically syncs and builds your package git repos once per hour.
- If you encounter any issues, the actions tab in your source universe may show what is going on, for example: https://github.com/r-universe/maelle/actions
- How do I change my maintainer picture? — They are taken from your GitHub profile. If no picture shows up, you need to register the email address that you use as R package maintainer in your github settings.
- How do I get my package logo shown in the packages tab? — We use the same conventions as pkgdown to find a logo for the package. It either needs to be in one of the locations checked by pkgdown:::find_logo() or set as an opengraph image in your _pkgdown.yml.
- How do I add my packages to r-universe? — Install the app on the GitHub accounts that contain your R packages. The system will automatically start adding existing CRAN packages that contain a link to a GitHub repo in the package description URL or BugReports field.
- Can I customize the package build process with custom options/tools/variables? — No. Think of R-universe more like your own mini-CRAN. The build environment is very similar to that of CRAN, if the package can build on CRAN, it will probably work on r-universe.
- How do I fix vignettes/articles which require custom software/tokens to render? — The best solution is to precompute these vignettes on your local machine.
- Are packages on r-universe required to pass CMD check? — No. The system just builds and deploys your R packages from git into your personal universe. You are responsible for your own quality control.