[R] 4.5.0: Do NOT just copy library folder and update.packages()

Jeff Newmiller jdnewm|| @end|ng |rom dcn@d@v|@@c@@u@
Sat Apr 26 00:29:14 CEST 2025


Don't copy installed packages. There are also periodically changes in the compiler toolchain, and many packages have compiled code in them that can misbehave if you mix old compiled code and new compiled code. The kinds of errors you get can range from minor random answers to crashing R.

The effort required to tiptoe around these problems is more than the benefit of not having to re-install all of your packages. It may work once and the next time you get weird answers that are hard to track down. Why live on the edge?

On April 25, 2025 1:53:28 PM PDT, Fer <farcego.pi using gmail.com> wrote:
>What about if there is only one folder for packages under 4.X... where 
>any version of R $.X... would load from there the packages?
>
>Thanks
>
>Fer
>
>On 4/25/25 11:16, Peter Dalgaard via R-help wrote:
>> 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....
>>
>	[[alternative HTML version deleted]]
>
>______________________________________________
>R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>https://stat.ethz.ch/mailman/listinfo/r-help
>PLEASE do read the posting guide https://www.R-project.org/posting-guide.html
>and provide commented, minimal, self-contained, reproducible code.

-- 
Sent from my phone. Please excuse my brevity.



More information about the R-help mailing list