Skip to content

unable to restore r-universe package via renv #2068

@zkamvar

Description

@zkamvar

I am finding that I'm having trouble restoring an r-universe package from a lock file after it updates from the r-universe. According to a 2022 article by Jeroen Ooms, renv is supposed to fall back to using GitHub for this, but I'm finding that I cannot restore a lock file created with an r-universe package.

MWE

To reproduce this problem, I created a lock file using the released version of the repvar package from https://zkamvar.r-universe.dev (at the time, it was built from zkamvar/repvar@07e2051f169). I then added two commits and bumped the version number.

When the r-universe rebuilt from the source, I purged the package from my cache and attempted to initialize a new project from the lockfile

Lockfile

{
  "R": {
    "Version": "4.4.2",
    "Repositories": [
      {
        "Name": "CRAN",
        "URL": "https://cran.rstudio.com"
      }
  ]
  },
  "Packages": {
    "renv": {
      "Package": "renv",
      "Version": "1.0.11",
      "Source": "Repository",
      "Repository": "CRAN",
      "Requirements": [
        "utils"
      ],
      "Hash": "47623f66b4e80b3b0587bc5d7b309888"
    },
    "repvar": {
      "Package": "repvar",
      "Version": "0.1.0",
      "Source": "Repository",
      "Repository": "https://zkamvar.r-universe.dev",
      "RemoteUrl": "https://github.com/zkamvar/repvar",
      "RemoteSha": "07e2051f169c5df7f20f0fa2f57baa55455e8bdc",
      "Requirements": [
        "R",
        "graphics",
        "stats"
      ],
      "Hash": "42285bdefd8d1b4b9e1d268d7fd962e8"
    }
  }
}

Results of initializing

R version 4.4.2 (2024-10-31) -- "Pile of Leaves"
Platform: aarch64-apple-darwin20 (64-bit)
> renv::init()
This project already has a lockfile. What would you like to do? 

1: Restore the project from the lockfile.
2: Discard the lockfile and re-initialize the project.
3: Activate the project without snapshotting or installing any packages.
4: Abort project initialization.

Selection: 1
The following package(s) will be updated:

# CRAN -----------------------------------------------------------------------
- renv     [* -> 1.0.11]

# https://zkamvar.r-universe.dev ---------------------------------------------
- repvar   [* -> 0.1.0]

# Downloading packages -------------------------------------------------------
- Querying repositories for available binary packages ... Done!
- Querying repositories for available source packages ... Done!
- Downloading repvar from https://zkamvar.r-universe.dev ... 	ERROR [error code 56]
- Downloading repvar from https://zkamvar.r-universe.dev ... 	ERROR [error code 56]
Warning: failed to find binary for 'repvar 0.1.0' in package repositories
Warning: failed to find source for 'repvar 0.1.0' in package repositories
Warning: error downloading 'https://cran.rstudio.com//src/contrib/Archive/repvar/repvar_0.1.0.tar.gz' [error code 56]
Error: failed to retrieve package '[email protected]'
Traceback (most recent calls last):
9: renv::init()
8: restore(project = project, library = libpaths, repos = repos, 
       prompt = FALSE)
7: renv_restore_run_actions(project, diff, current, lockfile, rebuild)
6: renv_retrieve_impl(packages)
5: handler(package, renv_retrieve_impl_one(package))
4: renv_retrieve_impl_one(package)
3: renv_retrieve_repos(record)
2: stopf("failed to retrieve package '%s'", remote)
1: stop(sprintf(fmt, ...), call. = call.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions