PIKAL Petr
2023-Mar-21 12:04 UTC
[R] Rprofile.site and automatic installation of missing packages
Dear all. I am trying to install missing (not installed) packages during startup of R through code in Rprofile.site but I miserably failed and I am not sure what I am doing wrong. R is installed to C:Program files but it is not writable for the users, therefore I cannot change Rprofile.site located in root etc directory. I however can put Rprofile.site in users home directory (Documents) and use it for R startup setting (partly). However I want for less experienced users to put a code here to check installed packages, check if some specified set of packages is installed and install them, but it is not working. The code in Rprofile.site is: #********** test <- scan("pack.txt", character(), quote = "") inst <- installed.packages() install.packages(test[!test %in% inst], repos="https://cloud.r-project.org") #********** An example of pack.txt is e.g. ggplot2 zoo but the code is not executed and packages are not installed. If I use this code after R starts, everything is OK and packages are installed to> Sys.getenv("R_LIBS_USER")[1] "C:\\Users\\PikalP\\AppData\\Local/R/win-library/4.2">The same applies if I put e.g. library(MASS) in the Rprofile.site, the package is not loaded but after R is live, library(MASS) loads a package. So my question is What is the best way to check after fresh R installation if some predefined set of packages is installed and if not, perform an installation without user intervention in Windows environment? S pozdravem | Best Regards Petr -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: pack.txt URL: <https://stat.ethz.ch/pipermail/r-help/attachments/20230321/8c40de6e/attachment.txt>
Duncan Murdoch
2023-Mar-21 12:55 UTC
[R] Rprofile.site and automatic installation of missing packages
?Startup says: "Note that when the site and user profile files are sourced only the base package is loaded, so objects in other packages need to be referred to by e.g. utils::dump.frames or after explicitly loading the package concerned." So you need utils::installed.packages and utils::install.packages . Duncan Murdoch On 21/03/2023 8:04 a.m., PIKAL Petr wrote:> Dear all. > > > > I am trying to install missing (not installed) packages during startup of R > through code in Rprofile.site but I miserably failed and I am not sure what > I am doing wrong. > > > > R is installed to C:Program files but it is not writable for the users, > therefore I cannot change Rprofile.site located in root etc directory. I > however can put Rprofile.site in users home directory (Documents) and use it > for R startup setting (partly). > > However I want for less experienced users to put a code here to check > installed packages, check if some specified set of packages is installed and > install them, but it is not working. > > > > The code in Rprofile.site is: > > > > #********** > > test <- scan("pack.txt", character(), quote = "") > > inst <- installed.packages() > > install.packages(test[!test %in% inst], repos="https://cloud.r-project.org") > > #********** > > > > An example of pack.txt is e.g. > > ggplot2 > > zoo > > > > but the code is not executed and packages are not installed. If I use this > code after R starts, everything is OK and packages are installed to > > > >> Sys.getenv("R_LIBS_USER") > > [1] "C:\\Users\\PikalP\\AppData\\Local/R/win-library/4.2" > >> > > The same applies if I put e.g. library(MASS) in the Rprofile.site, the > package is not loaded but after R is live, library(MASS) loads a package. > > > > So my question is What is the best way to check after fresh R installation > if some predefined set of packages is installed and if not, perform an > installation without user intervention in Windows environment? > > > > S pozdravem | Best Regards > > Petr > > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code.