rstudio / rstudio/packrat

Be less strict about restoring packages installed from sources from CRAN

Open
#371 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
R
Stars
409
Forks
89
PR merge metrics
No merged PRs in 30d

Description

Lots of users run into issues where a package installed from a local source tarball later cannot be snapshotted / restored, with something like:

Error: Unable to retrieve package records for the following packages:

  • 'dplyr'

Currently, Packrat only attempts to install packages from CRAN if it sees within the DESCRIPTION file

Repository: CRAN

and while the main CRAN repositories do set this for the packages they provide (with a couple exceptions for e.g. 'extra' repositories), many users set up their own CRAN-like repositories that do not enforce this.

In short, we should consider being more permissive with packages installed from source tarballs, and allow those packages to be reinstalled from CRAN if an appropriate version is available.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing snapshot and restore handling for packages installed from source tarballs, especially the logic that reads the DESCRIPTION file and requires “Repository: CRAN.” Check how package records are retrieved and how CRAN-like repositories are handled. Done means a suitable CRAN version can be selected for reinstall even when the source package lacks that DESCRIPTION field.

Written by the indexing model from the issue text.

Assessment

Tech stack
r
Domain
tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.