-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Should any package dependencies for the manuscript be development versions #86
Comments
I fully support the approach of The problem is that R's philosophy behind package management is: "update everything all the time"... which doesn't quite work with research compendia. Pinning the versions in the DESCRIPTION file is kind of a waste of time when you can't depend on the dependencies also being pinned. IMO, the most effective thing you can do is to pin the packages using With a renv project setup, the sources for your packages are recorded so when things need to be restored, they can be... you can even have Docker use the renv project to provision the image. |
Regarding your main question: having as many packages be the CRAN release versions is the best option. If a package is not on CRAN, be sure to have the remote added. For the hub verse packages, you can use the version tag on the remote (e.g. The renv lockfile will contain the correct sources for all the packages which can be retrieved from either the CRAN archives or GitHub (note that even if you have packages installed from the R-universe, they contain metadata about what commit they come from on GitHub). |
Thanks for the explanation. We had previously tried using |
Ah yes, the bear of active development inside of a {renv} project with multiple collaborators. A Docker container is a great solution---keep in mind that it's a good idea to host the image somewhere like docker hub (and maybe zenodo or osf) in a versioned state so that it can be reproduced (as new builds of the images would likely bring in new versions of the software). I would strongly recommend to record a If you don't want to do that, I would recommend adding a section at the bottom of the readme that includes a call to |
We decided to make the manuscript repository a research compendium using
rrtools
based on some suggestions. From what I understand, this means that our code is stored as an R package, and thus we have a typical DESCRIPTION file with dependencies.However, since this is a repo for a manuscript and will not be updated/maintained, it made me wonder if it would be better practice for packages on CRAN to not have their GitHub repositories listed under the Remotes field. (It's also possible that this doesn't matter, especially if we specify the exact versions of all packages used by the manuscript).
What are your thoughts, @zkamvar?
The text was updated successfully, but these errors were encountered: