How to change and remove default library location?
Here be dragons.
assign(".lib.loc", "\your\preferred\library", envir = environment(.libPaths))
How do I change the default library path for R packages
See help(Startup)
and help(.libPaths)
as you have several possibilities where this may have gotten set. Among them are
- setting
R_LIBS_USER
- assigning
.libPaths()
in.Rprofile
orRprofile.site
and more.
In this particular case you need to go backwards and unset whereever \\\\The library/path/I/don't/want
is set.
To otherwise ignore it you need to override it use explicitly i.e. via
library("somePackage", lib.loc=.libPaths()[-1])
when loading a package.
Remove a library from .libPaths() permanently without Rprofile.site
Just set the environment variable R_LIBS
in Windows to something like
R_LIBS=C:/Program Files/R/R-2.15.2/library
Restart R.
Change R default library path using .libPaths in Rprofile.site fails to work
I generally try to keep all of my packages in one library, but if you want to add a library why not append the new library (which must already exist in your filesystem) to the existing library path?
.libPaths( c( .libPaths(), "~/userLibrary") )
# obviously this would need to be a valid file directory in your OS
# min just happened to be on a Mac that day
Or (and this will make the userLibrary the first place to put new packages):
.libPaths( c( "~/userLibrary" , .libPaths() ) )
Then I get (at least back when I wrote this originally):
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/2.15/Resources/library"
[2] "/Users/user_name/userLibrary"
The .libPaths
function is a bit different than most other nongraphics functions. It works via side-effect. The functions Sys.getenv
and Sys.setenv
that report and alter the R environment variables have been split apart but .libPaths
can either report or alter its target.
The information about the R startup process can be read at ?Startup
help page and there is RStudio material at: https://support.rstudio.com/hc/en-us/articles/200549016-Customizing-RStudio
In your case it appears that RStudio is not respecting the Rprofile.site settings or perhaps is overriding them by reading an .Rprofile setting from one of the RStudio defaults. It should also be mentioned that the result from this operation also appends the contents of calls to .Library
and .Library.site
, which is further reason why an RStudio- (or any other IDE or network installed-) hosted R might exhibit different behavior.
Since Sys.getenv()
returns the current system environment for the R process, you can see the library and other paths with:
Sys.getenv()[ grep("LIB|PATH", names(Sys.getenv())) ]
The two that matter for storing and accessing packages are (now different on a Linux box):
R_LIBS_SITE /usr/local/lib/R/site-library:/usr/lib/R/site-library:/usr/lib/R/library
R_LIBS_USER /home/david/R/x86_64-pc-linux-gnu-library/3.5.1/
Related Topics
Define All Functions in One .R File, Call Them from Another .R File. How, If Possible
What Best Practices Do You Use for Programming in R
What Is the Knitr Equivalent of 'R Cmd Sweave Myfile.Rnw'
How to Change the Default Font Size in Ggplot2
"Un-Register" a Doparallel Cluster
How to Save a Plot Made with Ggplot2 as Svg
Dplyr Summarise_Each with Na.Rm
R "For Loop" Error Messages {}
Using Ggplot for Scattering Dots
Filter Based on Number of Distinct Values Per Group
Customizing the Sankey Chart to Cater Large Datasets
How to Learn How to Write C Code to Speed Up Slow R Functions
How to Organize Large Shiny Apps
What Techniques Exists in R to Visualize a "Distance Matrix"
R Random Forests Variable Importance
Move a Column to First Position in a Data Frame