-
Notifications
You must be signed in to change notification settings - Fork 758
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
Providing a fall-back mechanism to install an older version any package via devtools #2534
Comments
These are merely my notes of commands but the
I woud be happy if exactly these automated attempts to fetch older versions of packages were attempted by Something like the unfinished sketch of |
This seems like a general problem one could encounter with any package, yes? I don't see any specific devtools angle or solution here. Perhaps the archaelogical approach taken by the rang package could be helpful for this sort of unplanned time travel: https://github.com/gesistsa/rang. |
Yes, this would be helpful in many scenarios, for any packages. Basically, sometimes the latest and greatest have a new bug preventing installation but one can still install a previous one. But this would also help finding by trial and error a package for some older I felt that this would just need a loop per a list of versions per whatvever package to be acted upon and a switch not to exit upon an error. Anyway While having said that, I will try https://github.com/gesistsa/rang if that helps me out with yet another R instance and yet another environment. One also must be capable to handle the stuff mentally. Definitely seems like a rigorous approach, offering more than I even asked for. Thank you, @jennybc . |
This was quick. |
And under
and btw,
So I will again need to install manually some older version of |
I see where you're coming from and this has been wished for by others. It just turns out that this is actually a really hard problem, due to the way the dependency graph of R packages evolves over time, with all of their minimum version requirements (for other packages and R itself) changing constantly. If you just want to install the previous version of a package, such as devtools, that usually works without too much fuss. You're doing something quite different, when you try to work on R 3.4.4 (released 2018-03-15), which is not actually supported by any recent version of devtools or its dependencies. This qualifies as serious time travel and, in that case, you really do need to capture a working environment explicitly in a docker container or similar or use some tool that helps you install everything as it was on a certain date. |
This looks like it might be another useful resource for planning for reproducibility (with big emphasis on docker, renv, etc.): |
Truly said, I started with some old docker image an author of a package prepared, but as it starts firefox from insuide the container one is supposed disable X11 security controls, etc. I tried to migrate it to LXC containers, umm, did not complete that. So I created an LXC container based on the same distro and version as was the docker image, hence Bionic 18.04 with R-3.4.4 and Bioconductor-3.6. It is 10 working days behind. This seems to work for me although I will need to check which packages are still failing.
All the tools you discovered are definitely more advanced but Yeah, I want to avoid I will study the tools you referenced in more depth next week (as long as somebody pays me for that). I was supposed to bring to a life a Docker image from about 2020 with R, shinyR and a Firefox as it main interface. |
Hi,
I need to setup an old version of
R-3.4.4
with some packages. To getdevtools
installed I am facing a dependency hell. Luckily, one can install sufficiently old version athough the README.md does not mention when the dependencies grew up over the years.If possible, a lazy-loading approach in
devtools
might be used so that one could use the package although with some restrictions. But I did not check the code.I was hoping https://github.com/duckmayr/oldr will help me to automagically walk back any package version and any which get installed, if not, tryn an older one. Seems not.
The text was updated successfully, but these errors were encountered: