Everytime I upgrade R using homebrew I need to install most packages again

前端 未结 3 1052
醉酒成梦
醉酒成梦 2021-02-15 18:35

R Packages are installed to /usr/local/Cellar/r/3.1.2_1/R.framework/Versions/3.1/Resources/library

Whenever I run brew upgrade r and the versio

相关标签:
3条回答
  • 2021-02-15 18:57

    Expanding on other answers by including packages from BioConductor as well as CRAN.

    1. Before install: Backup current package list.

      tmp <- installed.packages() installedpkgs <- as.vector(tmp[is.na(tmp[,"Priority"]), 1]) save(installedpkgs, file="installed_old.rda")

    2. Install new version of R

    3. Reload packages from CRAN

      load("installed_old.rda") tmp <- installed.packages() installedpkgs.new <- as.vector(tmp[is.na(tmp[,"Priority"]), 1]) missing <- setdiff(installedpkgs, installedpkgs.new) install.packages(missing) update.packages()

    4. Reload packages from BioConductor

      chooseBioCmirror() biocLite() load("installed_old.rda") tmp <- installed.packages() installedpkgs.new <- as.vector(tmp[is.na(tmp[,"Priority"]), 1]) missing <- setdiff(installedpkgs, installedpkgs.new) for (i in 1:length(missing)) biocLite(missing[i])

    0 讨论(0)
  • 2021-02-15 19:11

    I put .libPaths("/Users/tim/.R/packages") in my ~/.Rprofile so that packages are installed to a path that doesn't disappear after a version bump.

    0 讨论(0)
  • 2021-02-15 19:14
    1. Save a list of your packages as an R data file

      tmp <- installed.packages() installedpkgs <- as.vector(tmp[is.na(tmp[,"Priority"]), 1]) save(installedpkgs, file="installed_old.rda")

    2. Install new version

    3. Load the list, then download the old packages from CRAN

      oad("installed_old.rda") tmp <- installed.packages() installedpkgs.new <- as.vector(tmp[is.na(tmp[,"Priority"]), 1]) missing <- setdiff(installedpkgs, installedpkgs.new) install.packages(missing) update.packages()

    0 讨论(0)
提交回复
热议问题