Skip to content

Frequently Asked Questions#

Setting Up Package Manager#

Where should I install Package Manager? What server specifications do you recommend?#

Package Manager can be installed on a physical server, cloud instance, virtual machine, or a long-living Docker container with persistent storage. Package Manager is supported on most Linux distributions, specifically listed on the Requirements page.

Package Manager requires 2 GB of RAM. Normally, Package Manager fetches data lazily and requires 50-100 GB of disk storage. If you use Bioconductor or PyPI, Package Manager will require more storage as users download Bioconductor and PyPI packages. For air-gapped networks, all data must be downloaded up front, which requires 200 GB of disk storage for CRAN and up to 170 GB per Bioconductor version.

Does Package Manager require internet access?#

Package Manager can be used without internet access, but most organizations will want Package Manager to have outbound internet access to the Posit Package Service.

Clients using Package Manager do not need internet access, just access to Package Manager. Package Manager is designed to help organizations with restricted internet access in their environment.

Can Package Manager be configured for High Availability?#

Yes. Package Manager can be configured on 2 or more servers and placed behind a load balancer. This setup requires a PostgreSQL database and shared storage; see High Availability.

Can I use Package Manager in an offline, air-gapped environment?#

Advanced

Yes, there are a number of options for air-gapped environments; reference the Air-Gapped Package Manager section for details.

What permissions are required to install Package Manager?#

Package Manager's default installation requires root privileges to configure the service daemon for Package Manager, set up log files, unpack Package Manager, and activate the license. It is possible to manually install Package Manager without root. For additional details, reference the appendix.

What permissions are needed to manage repositories in Package Manager?#

Repositories and packages are managed with a command line interface located at /opt/rstudio-pm/bin/rspm. By default, users must be a member of the rstudio-pm Unix group to use the CLI. The group that determines access can be customized.

How do I configure Package Manager?#

Package Manager's primary configuration file is located at /etc/rstudio-pm/rstudio-pm.gcfg by default. Reference the Quick Start section for steps tailored to different use cases.

Tip

An example configuration file that includes all the available configuration settings along with their defaults is installed at /etc/rstudio-pm/rstudio-pm.gcfg.defaults.

Do I need a database for Package Manager?#

Package Manager uses a database to store meta-data and serve packages. Administrators do not need to interact with the database. By default, Package Manager will use an included SQLite database. Optionally, Package Manager can use an external PostgreSQL database and in a cluster Package Manager requires PostgreSQL.

How do I know which version of Package Manager I'm using?#

You can identify the Package Manager version in use by:

Configuring Package Manager#

Can I use Package Manager to access CRAN or PyPI?#

Yes, for more information, reference the Quick Start guide. Package Manager can be configured to serve CRAN or PyPI packages to servers behind your firewall. Behind the scenes, Package Manager maintains metadata on all public packages, but only downloads content when required.

How do I use Package Manager to share local R and Python packages?#

Package Manager makes it easy to distribute internal packages and automatically handles archiving older versions of the package when new releases are added. For local R packages, see Distributing Local R Packages. For local Python packages, see Distributing Local Python Packages.

Can I set up multiple repositories in Package Manager?#

Yes, Package Manager allows administrators to create multiple repositories with different package and source compositions. For example, you could have a repo with CRAN packages and a repo with local packages, or you could create a single repository that contains local and CRAN packages. You could create a production repo with stable releases and a development repo with the bleeding edge versions of packages. Package Manager optimizes storage to prevent needless duplication.

Where does Package Manager get packages?#

Package Manager currently supports R packages from CRAN, Bioconductor, Git/GitHub, and local files. Python packages are supported from PyPI and local files. CRAN, Bioconductor, and PyPI packages are managed by the Posit Package Service and can be downloaded on demand.

Can Package Manager directly use our miniCRAN, PyPI mirror, etc.?#

No. Posit snapshots and processes packages from CRAN, Bioconductor, and PyPI internally before distribution. This means Package Manager can't directly connect to an internal miniCRAN, PyPI mirror, or similar service. We recommend either adding these packages to a local source in Package Manager or utilizing the Git builders feature.

Why is the newest package version not available yet?#

The latest version of a package from CRAN, Bioconductor, or PyPI may take several days to appear in Package Manager due to our snapshotting process.

We evaluate updates each business day. However, this schedule is subject to change without notice. Large updates, external repository errors or inconsistencies, and other unanticipated situations may cause delays.

Does Package Manager support Bioconductor?#

Yes, reference the Serving Bioconductor Packages section. Package Manager can be configured to serve Bioconductor packages to servers behind your firewall. Behind the scenes, Package Manager maintains metadata on all Bioconductor packages, but only downloads content when required.

Does Package Manager support binary packages?#

Yes, binaries are supported for Windows, macOS, and Linux distributions for CRAN, curated CRAN, and CRAN snapshot sources. Currently, Bioconductor packages do not support binaries and must be downloaded from source. To learn more about how to serve binaries, please refer to Serving Package Binaries.

Why isn't a binary available for all packages?#

Please refer to the Binary Availability section in the Serving Package Binaries documentation to learn more about common reasons why a package may not have a binary available and how to report issues.

Using Package Manager from R or Python#

How do I tell R to use Package Manager?#

Each R repository in Package Manager will contain a Setup web page with instructions for configuring R to use Package Manager. Once configured, R users can access packages using standard tools including install.packages, BiocManager, renv, and devtools.

How do I tell Python to use Package Manager?#

Each Python repository in Package Manager will contain a Setup web page with instructions for configuring Python to use Package Manager. Once configured, users can access packages using standard tools like pip, pipenv, or virtualenv.

Can I configure Posit Workbench to use Package Manager?#

Yes, an administrator can configure Posit Workbench to use Package Manager by default. Refer to the Configuring Posit Workbench section.

Controlling Access to Packages#

How do I specify which packages should be available in Package Manager?#

Administrators configure the available packages, sources, and repositories using an admin command line interface.

Package Updates#

How do I update packages in Package Manager?#

Package Manager can automatically update packages from CRAN and Bioconductor on admin-defined schedules. PyPI is automatically updated as new snapshots become available. Local packages can be updated at any time by adding the new package versions. Packages from Git or GitHub will be updated automatically. Updates can track new commits or tags.

Package Manager automatically archives older versions of packages during updates, ensuring older versions are available to users. Older versions are listed on the web page for each package.

Managing Change Control#

Does Package Manager help users manage the versions of packages installed?#

Package Manager was built to support all the common strategies organizations use to manage different versions of R packages. See Reproducible Environments for more information.

Is Package Manager compatible with renv?#

Yes, renv works with Package Manager repositories.

Package Manager and Docker#

Can Package Manager run in Docker?#

Yes, Package Manager can run in a Docker container that has persistent, mounted storage.

If I use Docker to manage package dependencies, should I use Package Manager?#

Docker images can be used to create an environment for a certain project or analysis. However, the use of Docker is orthogonal to Package Manager. For example, inside a Dockerfile for an R project you will normally see a line that installs R packages, e.g.

Dockerfile
RUN Rscript -e 'install.packages(...)'

This installation step benefits from Package Manager in the same way that non-Docker users benefit from Package Manager.