[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.

Hadley

-- 
http://had.co.nz/




More information about the R-help mailing list