This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Open question: What's the best way to share an R environement?

Hello everyone,

I was searching for an optimized version for R environement sharing and reproductibility, from a PC to another. I'm using for now a combination of renv() and conda.

What are your methods?

r environement conda reproductibility

1 answer

sharing and reproductibility, from a PC to another.

use a container like apptainer or docker.

Yes it's a good solution usually.

But for example, we have in our lab a huge R shiny application and when integrating it in a docker container, it gets slower and uses even more RAM. So sometimes it's not the best solution.

You will not be able to share constant environments if not using a container. Solutions like renv or packrat only work for a certain time. Once a dependency gets dropped from CRAN you're doomed and the entire thing breaks. I tried keeping an analysis that went over years tracked via renv and it was a mess. Even on the same operating system and exact machine. Since then I switched to Docker and manage projects that (by now) track back to 2018 with it -- works like a charm -- but has quite a learning curve.

A container also ensures that external dependencies (non R software) is consistent. That is difficult to ensure without containers on different machines, and different OSs.

Log in to answer this question.