-
Notifications
You must be signed in to change notification settings - Fork 362
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
R on Binder: What happens if MRAN goes away? #1240
Comments
If MRAN stops existing we'd have to find a different CRAN snapshot'er. As far as I know MRAN makes snapshot of CRAN every day. This means that once you fix the MRAN date you can do Is packrat widely used? Do you have an example of what it is or how to use it? What would you place in the repository that you publish? Project Binder doesn't have a lot of experience with the packaging options in each of the languages we support :-/ |
I've used MRAN for some work projects for reproducing my local R setup on a client's infrastructure, rather than for being able to reproduce this same setup at some point in time in the future. Of course, I hope that MRAN will not go away in the future, but it's still a single point of failure for systems that depend on Typically I'm building on a laptop running Windows 10 and deploying on AWS running Linux, and I've encountered weird problems in the past in which Packrat has the support of RStudio. It's a bit more fiddly to use, but you can restore BioConductor and GitHub packages also. I believe I saw a presentation by Microsoft in which they claim that you need to bundle your I've done this and would be happy to assist with a PR. There are other solutions, but I've not used them. For example: Probably I should ask this as a separate question, but I'll leave this here as food for thought: How is Python package versioning done? I ask because with the |
(Answering the easy question first)
No idea. I'd say let's see what the authors of these wrappers come up with. I don't think repo2docker will have an opinion on this until there is a large enough user base that people frequently use these wrappers on in repo2docker repos and hopefully by then there will be a community standard/best practice we can copy. |
Not moving it because I don't have the rights to do so. |
To install packages from MRAN we set the CRAN mirror URL: and after that users specify If the repository is more like a package itself (like https://github.com/tidyverse/tidyverse) you can place a Do you have an example repository with a packrat lockfile in it? If people are putting packrate lock files in repositories as a way for others to recreate their environment we might want to add support for it. During the repo2docker build a lot of packages need to be compiled because there are no binaries for linux :-( |
It is sufficient to do I used to use I'm wondering if the Looks here for something I cooked-up with packrat: |
Oops, I meant to put ">=" and "==" in the parentheses like so: foobar (>= 1.2.3) and foobar (== 1.2.3). |
With regards to "During the repo2docker build a lot of packages need to be compiled because there are no binaries for linux": Does repo2docker do this? https://www.jumpingrivers.com/blog/speeding-up-package-installation/ |
Thanks for the link! I created a new issue on the repo2docker repo to discuss the idea of using ncpus != 1. |
This issue is sadly relevant now 😭 https://techcommunity.microsoft.com/t5/azure-sql-blog/microsoft-r-application-network-retirement/ba-p/3707161 I couldn't see anything obvious in the documentation about plans for dealing with MRAN being retired in July 2023 but perhaps I missed it (apologies if I did!). I'm scheduled to teach a workshop on binderising an R project using holepunch next week and it just occurred to me that it all depends on MRAN and I'm not quite sure what to say about what will happen post July 2023. Is there any advice I should relay to participants? |
This comment was marked as duplicate.
This comment was marked as duplicate.
What's the current best practice recommended by the R community for reproducibility? |
I'd say package |
This looks useful: https://www.brodrigues.co/blog/2023-01-12-repro_r/ |
I think we have now officially switched over to the Posit Package Manager system and this issue can be closed. |
Apologies if this is a naive question, but here goes...
The documentation that describes configuring Binder to install R packages states that daily snapshots of CRAN that are hosted on MRAN are used. So what happens if MRAN disappears? More specifically, what dependencies are there on MRAN? Where are all the places it is used?
I want to setup my repo to trigger a
packrat
restore from a lock file instead of using MRAN. This provides better control over package versions (I've had problems, albeit rare, in the past when usingcheckpoint
). Also,packrat
works with packages installed from GitHub and BioConductor. I've already got this working locally, but not with Binder.The text was updated successfully, but these errors were encountered: