renv erroneously thinks private package is from Bioconductor, blocking deployment to Posit Connect

I have a private package that I'll call "privatePackage" below, used in some notebooks that I want to deploy to Posit Connect. I manage all the dependencies for these notebooks via renv, and so I've placed the private package in an RStudio Package manager at "fakeRSPMHostname" and installed the private source package into renv via


However, renv seems to think that the package came from Bioconductor, because in renv.lock I see:

    "privatePackage": {
      "Package": "privatePackage",
      "Version": "<obfuscated>",
      "Source": "Bioconductor",
      "Repository": "RSPM",

This persists after removing the package from the project, renv::purge-ing it, and installing it again. I can't think of any reason it would flag this as a Bioconductor package; the only thing I can think of is that the RSPM does have a Bioconductor mirror.

Well, I made two changes but still get this problem (repeating all the steps from a clean slate with the package removed from the projected and renv::purge-d): I removed the bioconductor mirror from the RSPM installation, and I replaced the repos argument with a named list as it should be.

It's possible I mis-identified the problem. After setting my RSPM repo as one of option("repos") by appending to the .Rprofile generated by renv, I can now deploy to Posit Connect successfully. It's still the case, however, that renv.lock claims privatePackage is from Bioconductor, but now it's apparently just an innocuous warning (and maybe I was mistaking it for the root error before).

Hello @aniaqueen22

I'm coming back to this problem after setting it aside for a bit -- thank you for the help! I have not finished going through all your suggestions, but a few notes:

  1. The package structure appears standard

  2. renv::settings("repos") returns Error: attempt to apply non-function. I have installed version 1.0.3 of renv.

  3. I have installed the packages this way, but this does not change the observed behavior.

  4. There are intentional Bioconductor references in the DESCRIPTION because the package suggests one package from Bioconductor. Specifically DESCRIPTION contains the line biocViews: Software and lists maftools in Suggests.

  5. The RSPN is intentionally configured mirror Bioconductor, in addition to the repository containing private packages. This is required to install the private package's optional package dependencies.

  6. renv::clear() returns Error: 'clear' is not an exported object from 'namespace:renv'