Open berndbischl opened 8 years ago
devtools::install_deps()
takes >20 seconds for larger libraries. Therefore you are intended to install all deps with rmake --deps
yourself before doing a check.
I dont get your point.
Situation a) I am missing some of these deps. Then the check will completely fail. So I HAVE to install all stuff anyway.
Situation b) I have all deps installed. Then checking that these are available is nearly "free" wrt to runtime.
So I dont see the disadvantage.
Querying R for installed packages takes >20s. So every time you run rcheck
, you would have to wait >20s for the check to begin.
installed.packages returns in < 1 sec on my laptop? and i have like 90% of cran installed?
You have >6000 packages installed? On shell@dortmund it takes 15-30 seconds, depending on the network load:
Rscript -e "system.time(installed.packages())"
user system elapsed
4.880 2.148 18.674
Note that the list of packages is cached per session.
You have to admit that you are now using a very peculiar argument. You sometimes tell me that I want to "push" my individual defaults into the package.
Now you argue for certain defaults with a situation that nearly NOBODY operates under, except for persons in Dortmund that ALSO work on the cluster.
EDIT: Correction: Only people in Dortmund.
I would suggest to make the auto-dependency install the default and to have a switch it off. That makes much more sense.
If you define NOBODY as everyone using a network file system, you're right. For example, install.packages()
takes 8s on Lido and I have ~100 packages installed.
So here are the options:
rmake --deps
once per package and system.So you suggest that I define my rcheck as: rmake -deps; rcheck
? Are there any downsides to this?
General remark:
Still, I now have to have aliases for like every single command in rt. I would suggest to at least introduce arguments for this and make them configurable thru (documented) R options, that you can have in .Rprofile. At least in the long run.
Actually, another uderlying issue is, that this stuff, and quite a few of the other issues / work-arounds should at least be documented on the README. that takes about 15 min then for all parties involved, and we can see where we go from there.
otherwise the check fails and you painfully have to do this manually