# [R] contriburl argument to install.packages

John Fox jfox at mcmaster.ca
Thu Jul 15 17:05:43 CEST 2004

```Dear Duncan,

> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Duncan Murdoch
> Sent: Thursday, July 15, 2004 9:56 AM
> To: John Fox
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] contriburl argument to install.packages
>
> On Thu, 15 Jul 2004 10:09:46 -0400, "John Fox"
> <jfox at mcmaster.ca> 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

```