[R] install.packages() for local source file

Paul Roebuck roebuck at odin.mdacc.tmc.edu
Sat Jan 1 22:25:17 CET 2005


On Sat, 1 Jan 2005, Liaw, Andy wrote:

> > From: Paul Roebuck
> >
> > Wish to install a local source package on Un*x platform from
> > within R. Same thing as I can accomplish from cmdline as
> >
> > $ export R_LIBS=~/R/library
> > $ cd /path/to/pkg
> > $ R CMD INSTALL -l $R_LIBS <pkgname>
> >
> >
> > So, how do you go about this anyway?
> > And isn't this a bug in 'install.packages'?
> >
> > -------
> > $ R
> >
> > R : Copyright 2004, The R Foundation for Statistical Computing
> > Version 1.9.0  (2004-04-12), ISBN 3-900051-00-3
> >
> > > file.pkg <- "mypkg_0.1.tar.gz"
> > > path.pkg <- file.path(path.expand("~"), "cvknn", file.pkg)
> > > file.exists(path.pkg)
> > [1] TRUE
> > > uri.pkg <- paste("file://", path.pkg, sep = "")
> > > install.packages(contriburl = uri.pkg, lib = Sys.getenv("R_LIBS"))
> > Error in file.info(x) : Object "tmpd" not found
> > > traceback()
> > 4: file.info(x)
> > 3: dirTest(destdir)
> > 2: download.packages(pkgs, destdir = tmpd, available = available,
> >        contriburl = contriburl, method = method)
> > 1: install.packages(contriburl = uri.pkg, lib = Sys.getenv("R_LIBS"))
> > > version
> >          _
> > platform sparc-sun-solaris2.9
> > arch     sparc
> > os       solaris2.9
> > system   sparc, solaris2.9
> > status
> > major    1
> > minor    9.0
> > year     2004
> > month    04
> > day      12
> > language R
>
> Please read ?install.packages.  It's most definitely not a bug for a
> function that works as documented.  If you want, you might take the
> source for install.packages and strip it down to do what you want,
> say something called installLocalPackages.

Well, I called myself having read it but it still wasn't obvious
to me; hence I posted the question here. Exactly which part should
I have read more carefully? I will grant that I left out one thing
when I did my cut'n'paste but it doesn't change the result.
My attempt to install my local package should have read:

> install.packages("mypkg",
                   contriburl = uri.pkg,
                   lib = Sys.getenv("R_LIBS"))

Looking at the source, 'tmpd' is only set if the protocol
is not "file:". Since I use that protocol, it would seem
to me that passing 'NULL' instead of 'tempfile("Rinstdir")'
would constitute a bug.

----------------------------------------------------------
SIGSIG -- signature too long (core dumped)




More information about the R-help mailing list