[R-pkg-devel] R force download of specific package versions in DESCRIPTION file

Seth Wenchel wenchel at gmail.com
Wed May 31 15:10:05 CEST 2017


You may also want to look at the checkpoint and miniCRAN packages
https://CRAN.R-project.org/package=checkpoint
<https://cran.r-project.org/package=checkpoint>
https://CRAN.R-project.org/package=miniCRAN
<https://cran.r-project.org/package=miniCRAN>

I haven't used the checkpoint package before, but I have used miniCRAN to
setup an internal CRAN-like repo with specific package versions.  Then you
can use code like:

    install.packages("martinsAwesomePackage",
repos="file://path/to/internal/repo/with/correct/versions")

if you have more than one AwesomePackage with different dependencies, you
may want to also specify the lib= parameter (though users would also have
to specify the new library by either adding it to .libPaths() or using the
lib.loc= parameter of library()).

Regards,
Seth

On Wed, May 31, 2017 at 5:18 AM, Martin Watts <martinleewatts at gmail.com>
wrote:

> Hi,
>
> Thanks for your reply, I've taken a look at packrat and it looks
> interesting but I don't think it's quite what I want. Packrat works on the
> assumption that the R session is run from the project directory, which
> won't necessarily be true in our case since, for example, we interface with
> some of our R code from python and our packages reference each other.
>
> Our deployment process at the moment is to just install.packages our
> packages to get all the required dependencies. This work well so I'd like
> to keep to this structure but I'm surprised that the DESCRIPTION file
> supports the == syntax if there is no way to enforce it at install?
>
> My alternative would be to write my own script that parses our DESCRIPTION
> files, pulls out the required versions and uses some code like this (
> https://gist.github.com/viking/1503736) to install the external packages
> manually first before installing our packages, but this seems like it would
> be a lot of work.
>
> Thanks,
> Martin
>
> On Mon, May 22, 2017 at 8:52 AM, Facundo Muñoz <famuvie at gmail.com> wrote:
>
> > I think Packrat [1] might help:
> >
> > - Isolated: ... each project its own private package library.
> > - Reproducible: ... exact versions are the ones that get installed ...
> >
> > ƒacu.-
> >
> > [1] https://rstudio.github.io/packrat/
> >
> >
> > On 05/18/2017 04:34 PM, Martin Watts wrote:
> > > I have created a package (which I host on a local server) that I have
> set
> > > up to depend on exact versions of other packages, i.e my DESCRIPTION
> file
> > > looks like this:
> > >
> > > Package: myPackage
> > > Depends:
> > >     R (>= 3.2.5)
> > > Imports:
> > >     dplyr (== 0.5.0),
> > >     lazyeval (== 0.2.0),
> > >     lubridate (== 1.6.0),
> > >     magrittr (== 1.5),
> > >     reshape2 (== 1.4.2)
> > >
> > >
> > > My expectation is that when I run install.packages('myPackage') that
> each
> > > of these specific dependency versions will be installed, but this is
> not
> > > the case. It looks like if a dependent package is not present at all
> then
> > > it is installed to the correct version, but when it is present at a
> LATER
> > > version it is not rolled-back to the desired version.
> > >
> > > Is there a way that we can force all requested versions of these
> packages
> > > to be installed? We would like this behaviour as we'd like a way to
> > > guarantee that all R environments are exactly the same when running
> this
> > > code.
> > >
> > > Note that I've been testing using devtools::install, but I assume that
> > this
> > > mirrors the behaviour of install.packages.
> > > Also posted on SO: http://stackoverflow.com/
> questions/44028355/r-force-
> > > download-of-specific-package-versions-in-description-file
> > >
> > > Thanks,
> > > Martin
> > >
> > >       [[alternative HTML version deleted]]
> > >
> > > ______________________________________________
> > > R-package-devel at r-project.org mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-package-devel
> >
> >
> >         [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-package-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-package-devel
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list