[R] 4.5.0: Do NOT just copy library folder and update.packages()
Matthew McCormack
mccorm@ck @end|ng |rom mo|b|o@mgh@h@rv@rd@edu
Sat Apr 26 04:48:58 CEST 2025
How about this:
lib_loc <- "/home/R/x86_64-pc-linux-gnu-library/4.4"
to_install <- unname(installed.packages(lib.loc = lib_loc)[, "Package"])
to_install
install.packages(pkgs = to_install)
Copy the names of the packages, then install them in the new
version of R.
Matthew
On 4/25/25 12:16 PM, Peter Dalgaard via R-help wrote:External Email -
Use Caution
> A couple of people have gotten themselves in trouble by copying the contents of their 4.4 library folder into the 4.5 counterpart and running update.packages().
>
> That can be a really bad idea if the old library contains base packages like "tools" or "utils". They don't live on CRAN, so update.packages() just leaves them at the 4.4.x version.
>
> For instance,tools::md5sum has a new bytes= argument in 4.5.0 which gets used when loading other packages, but that cannot work anymore.
>
> So copying library folders was probably never a good idea, but this time it is a very, very bad idea.
>
> To avoid the problem, you can do something like this:
>
>> .libPaths()
> [1] "/Library/Frameworks/R.framework/Versions/4.5-x86_64/Resources/library"
>> tbl <- installed.packages("/Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/library")
>> table(tbl[,"Priority"])
> base recommended
> 14 15
>> pkglist <- rownames(tbl[is.na(tbl[,"Priority"]),])
> and then install.packages(pkglist) avoids touching the base/recommended ones.
>
> - pd
>
> PS: On MacOS, I have two systems upgraded 4.4.x to 4.5.0. One of them has tools in the 4.4 library and the other does not. I have no clue what the difference might be....
>
The information in this e-mail is intended only for the person to whom it is addressed. If you believe this e-mail was sent to you in error and the e-mail contains patient information, please contact the Mass General Brigham Compliance HelpLine at https://www.massgeneralbrigham.org/complianceline <https://www.massgeneralbrigham.org/complianceline> .
Please note that this e-mail is not secure (encrypted). If you do not wish to continue communication over unencrypted e-mail, please notify the sender of this message immediately. Continuing to send or respond to e-mail after receiving this message means you understand and accept this risk and wish to continue to communicate over unencrypted e-mail.
[[alternative HTML version deleted]]
More information about the R-help
mailing list