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

Paul Roebuck roebuck at odin.mdacc.tmc.edu
Sun Jan 2 06:38:28 CET 2005


On Sat, 1 Jan 2005, Roger D. Peng wrote:

> Paul Roebuck wrote:
> > 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
> >
>
> By the way, do you get this error in a recent version of R
> (say >= 1.9.1). I believe install.packages() has changed
> since 1.9.0.  For example, see the thread starting here
>
> https://stat.ethz.ch/pipermail/r-help/2004-July/053001.html
>

Roger,

Thanks for that link which helped me diagnose the problem.
I observed the same error you observed (.../053047.html). Still
think it's kind of hinky to pass an uninitialized variable (tmpd)
to another method and count on it doing something though.

I wondered if something had changed as well, but noticed no change
glancing at the source for install.packages on 2.0.1 (OS X).
But underneath, the behavior was different since I got a
different error message which noted the lack of a PACKAGES
file. That was enough to get the rest to work...

Hopefully this will help my case for updating to the current
version on our shared Un*x workstations since I can now point
to a definitive bug that impacted my work due to using an
older version of this software.

--------
R : Copyright 2004, The R Foundation for Statistical Computing
Version 2.0.1  (2004-11-15), ISBN 3-900051-07-0

> parentdir <- file.path(path.expand("~"), "Projects", "cvknn")
> uri.parentdir <- paste("file://", parentdir, sep = "")
> savewd <- getwd()
> setwd(parentdir)
> rmsymlink <- FALSE
> if (file.exists("PACKAGES") == FALSE) {
>     file.symlink(file.path("mypkg", "DESCRIPTION"), "PACKAGES")
>     rmsymlink <- TRUE
> }
> install.packages("mypkg",
+                  contriburl = uri.parentdir,
+                  lib = Sys.getenv("R_LIBS"))
> if (rmsymlink) file.remove("PACKAGES")
> setwd(savewd)

Perhaps the documentation for the 'contriburl' should
specify that it is expecting 'URL of the directory of
the contrib section of CRAN'.

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




More information about the R-help mailing list