Roger D. Peng wrote:

Hmm...is this maybe a bug?  Check out this section of install.packages():

localcran <- length(grep("^file:", contriburl)) > 0
if (!localcran) {
if (is.null(destdir)) {
tmpd <- tempfile("Rinstdir")
if (!dir.create(tmpd))
stop("Unable to create temp directory ", tmpd)
}
else tmpd <- destdir
}
foundpkgs <- download.packages(pkgs, destdir = tmpd, available = available,
contriburl = contriburl, method = method)


So if `localcran' is TRUE (which in this case, it is), then `tmpd' never gets defined but is passed to download.packages().

The help pages tells us (correctly):
"If CRAN is local, i.e., the URL starts with "file:", then the packages are not downloaded but used directly."
hence we don't need a destdir in this case, therefore no need to define tmpd.



When I run a traceback() after getting the error from running install.packages(), it fails in download.packages() when trying to create the download directory.

Works for me without any error. Are you sure the path you specified was correct? If you are sure, is this R-1.9.1?


Uwe Ligges



For example, try defining `tmpd' in your workspace and the run install.packages. This works for me:

tmpd <- "~/tmp"
install.packages("bzTools", contriburl = "file:c:/Rlibs/build")

Of course, you still need the PACKAGES file in the contriburl directory.

-roger

John Fox wrote:

Dear Duncan,

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Duncan Murdoch
Sent: Thursday, July 15, 2004 9:56 AM
To: John Fox
Cc: [EMAIL PROTECTED]
Subject: Re: [R] contriburl argument to install.packages


On Thu, 15 Jul 2004 10:09:46 -0400, "John Fox" <[EMAIL PROTECTED]> wrote :


Dear list members,

I can't figure out how to specify the contriburl argument to
install.packages() properly when the packages to be


installed are in a

directory on my local machine. I have in mind a command


something like

    install.packages(missing.packages, contriburl=directory,
lib=.libPaths()[1])

Where missing.packages is a character vector of package


names (without

versions) and directory is the location where they reside (less PACKAGES, I guess). I'm using R version 1.9.1 on a Windows


XP machine.

Several variations on directory <- "file:c:/temp" don't seem to work.

Any help would be appreciated.


You need a file called PACKAGES in the same directory as the packages, which contains the package information; for example

http://www.cran.mirrors.pair.com/bin/windows/contrib/1.9/PACKAGES

I imagine the CRAN maintainers have scripts to produce this from the package files, but I'm not sure where they are.

To refer to a local version of this file, use the syntax you had, e.g.

CRAN.packages(contriburl="file:c:/temp")

will look for c:/temp/PACKAGES and display the information in it.



I had already tried this, and it doesn't appear to work for me. For example,


    > CRAN.packages(contriburl="file:c:/temp")
    Error in file(file, "r") : unable to open connection
    In addition: Warning message:     cannot open file `c:/temp/PACKAGES'
I *do* have a directory c:\temp\PACKAGES

Regards,
 John




If you don't want to maintain this file, then you can construct the information in it using the "available=" argument to the package functions.

Duncan



______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html



______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html

Reply via email to