Skip to content

[Bioc-devel] Keeping all BioC and CRAN installed packages up to date the easy way

1 message · James W. MacDonald

#
Hi Mark,
Mark W Kimpel wrote:
What do you mean by 'repeatedly'? If you mean Biobase is installed 
whether or not it is out of date, then that is the correct behavior. The 
function biocLite() is a wrapper to install.packages(), not 
update.packages(), so this is as it should be.
Oh yeah, I forgot. There is one more step that I neglected to mention:

library(Biobase)

So here is the background; Biobase contains a list of repository URLs 
that are correct for whatever version of Biobase will be installed by 
biocLite(). So what we are doing here is ensuring that the current 
version of Biobase is the most up-to-date, loading the package and 
extracting the list of repositories. We have to do this step because 
update.packages() won't update any package that is already loaded, and 
we need to load Biobase to get the repos list.

So once we have resolved this chicken-egg problem, we can run 
update.packages() and update all the other packages.

Long story short, you are not being stupid. However, any time you see 
that error, about 75% of the time it is because you haven't loaded the 
package that contains the function. The other 25% happens when you have 
loaded the package, but it has a namespace and the function isn't 
exported. I am wearing a t-shirt today that reads 'I make stuff up' 
(required attire for all statisticians in my wife's view), so you can 
rest assured that those percentages are quite accurate ;-D

Best,

Jim