HenrikBengtsson / startup

:wrench: R package: startup - Friendly R Startup Configuration
https://henrikbengtsson.github.io/startup/
160 stars 5 forks source link

Linux: "startup::check(): Environment variable 'R_LIBS_SITE' specifies a non-existing folder ..." #127

Closed HenrikBengtsson closed 1 year ago

HenrikBengtsson commented 1 year ago
startup::check(): Environment variable 'R_LIBS_SITE' specifies a non-existing folder
 '/home/henrik/shared/software/R-4.2.2/lib/R/site-library' which R ignores and therefore 
are not used in .libPaths(). To create this folder, call 
dir.create("/home/henrik/shared/software/R-4.2.2/lib/R/site-library", recursive = TRUE)
HenrikBengtsson commented 1 year ago

This is because R sets R_LIBS_SITE="%S" in R_HOME/etc/Renviron;

> grep(readLines(file.path(R.home("etc"), "Renviron")), pattern = "R_LIBS_SITE", value = TRUE)
[1] "R_LIBS_SITE=${R_LIBS_SITE:-'%S'}"

This is then expanded by the system Rprofile file;

> grep(readLines(file.path(system.file(package = "base"), "R", "Rprofile")), pattern = "R_LIBS_SITE", value = TRUE)
[1] "Sys.setenv(R_LIBS_SITE ="                                               
[2] "           .expand_R_libs_env_var(Sys.getenv(\"R_LIBS_SITE\")))"        
[3] ".Library.site <- Sys.getenv(\"R_LIBS_SITE\") # This is set in Renviron."

to

> .expand_R_libs_env_var("%S")
[1] "/home/henrik/software/cbi/software/R-4.2.2-gcc11/lib/R/site-library"

This is done regardless if that folder exists or not.