[R-pkg-devel] install.packages() seems not to select the latest suitable version
edd @end|ng |rom deb|@n@org
Tue Jul 28 13:21:36 CEST 2020
On 28 July 2020 at 11:46, Adelchi Azzalini wrote:
| When I updated package mnormt to version 2.0.0 in June (now at 2.0.1),
| at the stage of --as-cran checking, there was a compilation error,
| which was overcome by setting the
| Depends: R (≥ 4.0.0)
| With this option, all worked fine.
| However, shortly afterwards, complaints started coming,
| either from users or from maintainers of packages making use of mnormt,
| because this high version dependence causes troubles to some people,
| such as those using Debian installations, currently at a much lower
| R version.
You can point those users to a) the r-sig-debian list and b) the Debian
directory at CRAN as we have always had "backports" of the current R to older
Debian releases---thanks to the work by Johannes Ranke "backporting" whatever
my current Debian packages of R are.
Moreover, you can also point them at `apt install r-cran-mnormt` -- I have
maintained your package within Debian since 2007 (!!) and continue to do so
giving Debian (and Ubuntu) users the choice between a distro binary and
installation from CRAN source.
| At the time I select that dependence value, I relied on the fact that
| install.packages() selected the most recent suitable version of a package,
| given the existing R installation. I expected that people without
| R 4.0.0 would have the older version of mnormt, 1.5-7, installed.
| As my memory goes (and the memory of other people too), this was
| the working in the past, but apparently not any more.
I don't think that is quite correct. The CRAN repo is always set up for the
currently released version, and may allow constraints such 'R (>= 4.0.0)'
imposing the current (major) release.
There is no recent change in this behavior.
| For instance, this is a passage from a specific user:
| "install.packages() used tp just install the most recent available
| for your current version of R. In the past it might have done just that,
| but that's clearly not the case currently."
Yes and no. I don't think this correctly stated. `install.packages()` always
picks the most recent version, but this may also require running _the
current_ R release. I disagree about "not the case currently" -- no change
as stated above.
| Can anyone clarify the reason of this (apparent? real?) change?
| ...and possibly indicate a way who people with lower R version (and perhaps
| limited R expertise) can install the older version of mnormt, 1.5-7,
| without much hassle?
"Versioned" installs were never supported by `install.packages()`.
But one could always download an older version to a local file, and point
install.packages() at that file (and setting 'repos=NULL'), or use `R CMD
INSTALL` directly. No change there either.
https://dirk.eddelbuettel.com | @eddelbuettel | edd using debian.org
More information about the R-package-devel