Installing R packages from source can be a slow process. This is compounded by the challenge of making sure you have all the right system libraries and compilers installed. CRAN eases the burden on most desktop R users by providing pre-built binary packages for both Windows and MacOS, but Linux users (or anyone using a Linux-based environment like Docker) are still expected to build from source.
RStudio comes to the rescue of Linux and Docker users with our free Public Package Manager (PPM) service. We provide binary versions of CRAN packages for the most popular Linux distributions, including Ubuntu, Red Hat, and SUSE. Installing these binary packages from PPM can save hours of frustration over building them yourself during installation.
# install the tidyverse from source system.time(install.packages("tidyverse", lib=tempdir(), dependencies=TRUE)) #> user system elapsed #> 709.348 41.983 757.044 # set the repository to PPM (Ubuntu focal) options(repos="https://packagemanager.rstudio.com/all/__linux__/focal/latest"); # install the tidyverse system.time(install.packages("tidyverse", lib=tempdir(), dependencies=TRUE)) #> user system elapsed #> 22.342 3.898 70.377
On a Linux system, installing the entire tidyverse of packages can be much faster than installing from source!
You can start using binary packages from PPM by making a few changes to your R configuration:
NOTE: If you are on Linux and not using RStudio, you may need to update your R configuration to support downloading binary packages from PPM. See R Configuration Steps (Linux) for more details.
Using PPM can save you time and frustration for CRAN packages, but what if the package you need isn’t available on CRAN? Maybe it’s an internally developed package used widely within your own group. Maybe the package is only available on GitHub. Or maybe your organization builds packages only with approved libraries or tools.
For those users, our commercial RStudio Package Manager (RSPM) product may be a solution. With the 2022.07 release, you can now upload custom binary packages for internal, GitHub-only, or otherwise non-CRAN packages and make these binaries available to everyone on your team.
We know many of our customers who maintain their own internal R packages already have systems in place for building and updating them. With the 2022.07 release, RSPM also introduces remote publishing with API tokens, making it easier to integrate securely with your existing package build process or pipeline – wherever it lives. Administrators have full control over API token creation and lifetimes, and tokens can even be limited in scope to restrict publishing to only specific sources.
Check out our package-manager-demo project on GitHub for an example of enabling API tokens, building, and publishing a package with GitHub Actions.
In addition to hosting Linux and Windows binary packages, our Public Package Manager service has other free features such as historic CRAN snapshots and Bioconductor support. For more advanced needs, RStudio Package Manager adds additional features to help you easily manage and distribute packages within your organization such as:
Try switching your CRAN repository to PPM today and see the benefits for yourself! And if you have questions or ideas on how we can make your package management easier, reach out on our RStudio Community page.
Helpful tips for creating collaborative bilingual data science teams.
With Quarto, you can render plain text and mixed formats into different types of content. We highlight six productivity hacks that may be useful to you.