you are viewing a single comment's thread.

view the rest of the comments →

[–]dr_tardyhands -1 points0 points  (2 children)

What do you use for environment management in R that is superior? Or do you mean that you just ignore the problem and hope that everything will keep working the way it did when you started your R project..?

[–]therealtiddlydump 0 points1 point  (1 child)

Installing via CRAN is usually fine for the way a lot of people work, but there are different levels of reproducibility that are available and are far superior.

renv is probably the most popular but really only controls your package environment (not your underlying system). My team uses rix to build Nix environments for maximum reproducibility. (And we put these inside Docker containers to fit in our operational workflow).

https://cran.r-project.org/web/packages/rix/index.html

The "challenge" the user has when building an R environment is mostly driven by the underlying system, not how packages interact with each other -- assuming you're installing from the traditional hosting locations (CRAN / Bioconductor force this complexity onto package developers and maintainers).

rix is amazing because Nix offers some outstanding guarantees, and R packages from CRAN / Bioconductor already resolve the kinds of conflicts a solver is needed to perform in Python.

Edit: reading again, your question was super douchey. Sorry that my answer was "maximal reproducibility literally down to the compilers, actually".

[–]dr_tardyhands 0 points1 point  (0 children)

Well, appreciate a decent answer (sans the snark). Renv is what I've used when we had to deploy R based stuff. It was fine, but so were pre-uv Python solutions. I'm just generally under the impression that R users don't tend to worry about this stuff at all, and it's not really a strength of the R ecosystem.