[R] unload & reload a (new version of a) package

hadley wickham h.wickham at gmail.com
Tue Jan 15 02:55:26 CET 2008

On Jan 14, 2008 5:48 PM, Harte, Thomas P <THarte at tiaa-cref.org> wrote:
> i'm putting the final touches on a package that i'm developing and i
> noticed
> that if i detach the package, and then re-build & re-install it (using R
> CMD)
> then I can't get the newer version of the package to load in the
> existing R
> session (i have to close it out and start a new session, then the newer
> version of the package is loaded).
> looking through the source of 'detach'  i see :
>       .Call("R_lazyLoadDBflush", paste(libpath, "/R/", pkgname,
>             ".rdb", sep = ""), PACKAGE = "base")
> is there some absolute way similar to the above to flush the package db
> and ensure that a newer version of the package can be loaded into the
> existing R session? detach calls .Last.lib and seems to go through the
> motions of purging the loaded package; why, then, is the package still
> lurking around in the existing R session?

For testing, I usually just re"source" all of my code:

lapply(dir("~/documents/ggplot/ggplot/R", full.name=T), source)

obviously it's no good for testing data, namespaces or compiled code,
but 95% of the time it's good enough for me.



More information about the R-help mailing list