Re: [R] loading an updated version of a package during an active R session?

From: Prof Brian Ripley <>
Date: Fri, 11 Apr 2008 06:27:05 +0100 (BST)

On Thu, 10 Apr 2008, Roger Levy wrote:

> Prof Brian Ripley wrote:
>> 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).
> Ah, I see -- I was under the mistaken impression that detaching the
> package would also get rid of the namespace. In my particular case,
> using unloadNamespace() did the trick properly.
>> 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
> In my case I am developing on OS X so there are no DLLs, but this is a
> good proviso to know. Does the same proviso apply to shared objects in Unix
> and OS X?

There are DLLs -- it is a generic term for 'dynamic library object', the things library.dynam handles. (That Mac OS uses 'dynamic library' for a different sort of object postdates this usage.)

> Best & many thanks.
> Roger
>> So without more details or the example asked for in the footer it is
>> hard to be explicit about what needs to be done.
> --
> Roger Levy Email:
> Assistant Professor Phone: 858-534-7219
> Department of Linguistics Fax: 858-534-4789
> UC San Diego Web:

Brian D. Ripley,        
Professor of Applied Statistics,
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Fri 11 Apr 2008 - 05:30:03 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 11 Apr 2008 - 07:30:27 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive