R package to create internally consistent, mini version of CRAN
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
R
data
docs
inst
man Fix documentation for packages arg of pkgDeps() #108 Jun 22, 2018
tests
vignettes
.Rbuildignore
.gitignore update gitignore Nov 17, 2014
.travis.yml
DESCRIPTION
LICENSE.md
NAMESPACE
NEWS
README.md
_pkgdown.yml
cran-comments.md

README.md

miniCRAN

Build Status Build Status CRAN RStudio mirror downloads Coverage Status

Create a mini version of CRAN containing only selected packages

Introduction

At the end of 2014, CRAN consisted of more than 6,000 packages, and by 2017 this number doubled to more than 12,000. Many organisations need to maintain a private mirror of CRAN, but with only a subset of packages that are relevant to them.

The miniCRAN package makes it possible to create an internally consistent repository consisting of selected packages from CRAN-like repositories. The user specifies a set of desired packages, and miniCRAN recursively reads the dependency tree for these packages, then downloads only this subset.

Important functions:

Function Use it for
pkgDep() Find package dependencies
makeRepo() Make repository (with or without downloading packages)
addPackage() Add additonal packages (and their dependencies) to existing repository
updatePackages() Update the versions of packages currently in the repository

Installation:

Get the stable version from CRAN:

install.packages("miniCRAN")
library("miniCRAN")

Development version

Get the latest development version from github:

# Use `devtools` to install directly from github
library(devtools)
install_github("andrie/miniCRAN")

System requirements

The miniCRAN package itself doesn't introduce any system dependencies. However, the package imports the curl and XML packages. These have system requirements on libxml2-devel, libcurl-devel and openssl-devel.

  • On systems with the rpm package manager (Red Hat, CentOS) try:

      ```
      yum install libcurl-devel libxml2-devel openssl-devel
      ```
    
  • On systems with the aptitude package manager (Debian, Ubuntu) try:

      ```
      apt-get install libcurl4-openssl-dev libxml2-devel openssl-devel
      ```
    

Example:

# Determine and download the packages `ggplot2`, `plyr` and `reshape2`, including their dependencies:

library("miniCRAN")
pkgs <- c("ggplot2", "plyr", "reshape2")
makeRepo(pkgDep(pkgs), path = file.path(tempdir(), "miniCRAN"))

Supported by Microsoft

I started this project while employed by Revolution Analytics and Microsoft. Microsoft has kindly agreed that I maintain the project individually, and retains copyright to all work on the project until October 2017.