As the subject says I am about to migrate all my work to a new machine and I would like to know if there are any best practices for doing so. Like can I get a list of all packages on my machine with its versions and use that to install it on my new machine.
ip <- installed.packages()
head(ip)
# Package LibPath Version Priority
# acepack "acepack" "C:/Users/nwerth/Documents/R/win-library/3.6" "1.4.1" NA
# acs "acs" "C:/Users/nwerth/Documents/R/win-library/3.6" "2.1.4" NA
# askpass "askpass" "C:/Users/nwerth/Documents/R/win-library/3.6" "1.1" NA
# assertthat "assertthat" "C:/Users/nwerth/Documents/R/win-library/3.6" "0.2.1" NA
# backports "backports" "C:/Users/nwerth/Documents/R/win-library/3.6" "1.1.4" NA
# base64enc "base64enc" "C:/Users/nwerth/Documents/R/win-library/3.6" "0.1-3" NA
# Depends Imports LinkingTo Suggests
# acepack NA NA NA "testthat"
# acs "R (>= 2.10), stringr, methods, XML" "graphics, stats, plyr, utils, httr" NA ""
# askpass NA "sys (>= 2.1)" NA "testthat"
# assertthat NA "tools" NA "testthat, covr"
# backports "R (>= 3.0.0)" "utils" NA NA
# base64enc "R (>= 2.9.0)" NA NA NA
# Enhances License License_is_FOSS License_restricts_use OS_type MD5sum NeedsCompilation
# acepack NA "MIT + file LICENSE" NA NA NA NA "yes"
# acs NA "GPL-3" NA NA NA NA "no"
# askpass NA "MIT + file LICENSE" NA NA NA NA "yes"
# assertthat NA "GPL-3" NA NA NA NA "no"
# backports NA "GPL-2" NA NA NA NA "yes"
# base64enc "png" "GPL-2 | GPL-3" NA NA NA NA "yes"
# Built
# acepack "3.6.0"
# acs "3.6.0"
# askpass "3.6.0"
# assertthat "3.6.0"
# backports "3.6.0"
# base64enc "3.6.0"
Just keep the names from the "Package" column to use when installing again. If you want to freeze your package versions, then see if the renv package meets your needs. I haven't used it, but it sounds like it might help.
Thank you. I get this will get me the list of all packages I want to install on my new machine. But do I have a way to install separate them by CRAN and non CRAN.