On Wed, 9 Apr 2008, Roger Levy wrote: > I am developing a package and I want to be able to load an updated > version of the package from within an active R session. Suppose, for > example, I have a function f within a package X. In my active R > session, I have already loaded X. Then I change the R source code of f > within X and rebuild the package as a .tar.gz file on the command line with > > R CMD build X > > Within my R session, is there a way to reload X such that the updated > definition of f will be used? I have tried: > > > detach("package:X") > > install.packages("X.tar.gz", repos=NULL, type="source") > > library(X) > > but this seems to use the old version of f. Any suggestions would be > much appreciated!
It does work for some packages but not in general. If the package has a namespace, you need to unload that, e.g. unloadNamespace("X") before library(X) (and that will detach X as well). Note too that many (most?) packages with DLLs do not unload the DLL when their namespace is unloaded (or they are detached), in which case you can end up with the new R code and the old compiled code. So without more details or the example asked for in the footer it is hard to be explicit about what needs to be done. > Many thanks in advance! > > Roger > > ______________________________________________ > R-help@r-project.org mailing list > 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. > -- Brian D. Ripley, [EMAIL PROTECTED] Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595 ______________________________________________ R-help@r-project.org mailing list 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.