[R-pkg-devel] install.packages() seems not to select the latest suitable version

Dirk Eddelbuettel edd @end|ng |rom deb|@n@org
Tue Jul 28 13:21:36 CEST 2020

Hi Adelchi,

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 mailing list