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

From: Roger Levy <rlevy_at_ucsd.edu>
Date: Thu, 10 Apr 2008 16:14:32 -0700

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?

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: rlevy_at_ucsd.edu
Assistant Professor             Phone: 858-534-7219
Department of Linguistics       Fax:   858-534-4789
UC San Diego                    Web:   http://ling.ucsd.edu/~rlevy

______________________________________________
R-help_at_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.
Received on Thu 10 Apr 2008 - 23:20:29 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 - 06:30:27 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.

list of date sections of archive