Fer:

If you have been keeping all 4.x packages in one directory, then you should rename that directory and let R 4.5 build a new one to hold packages that work there. Keep the old one around if you want to know the names of packages that were previously installed, or delete it if you don't really care.

Generally speaking it's a good idea to name the directory with major and minor parts of the R version, e.g. Rlib4.5. You usually don't need to reinstall packages moving from 4.5.0 to 4.5.1.

Duncan Murdoch

On 2025-04-25 6:29 p.m., Jeff Newmiller via R-help wrote:
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...@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@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.


______________________________________________
R-help@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.

Reply via email to