Creating a Local R Package Repository

Creating a local R package repository

Yes, either a copy of CRAN or a repo with local packages is easy to set up. Presumably you want this for Windows so do this:

  1. Create a top-level directory on your webserver, say R/
  2. Create the usual hierarchy in there: R/bin/windows/contrib/2.11. If you need to support other (earlier) releases, simply create directories 2.10, 2.9, ... next to the 2.11 directory.
  3. Place the packages you need into the directory (say, 2.11), then change into that directory and run the following command to generate PACKAGES and PACKAGES.gz files for the repository:

    tools::write_PACKAGES(".", type="win.binary")

That is all there is to it -- now you can access the repository by pointing to the address given a command such as

update.packages(repos="http://my.local.server/R", ask=FALSE)

which I even do in R/zzz.R for local packages so that they update themselves.

Edit some five+ years later: And the drat package now automates a lot of this, and shines particularly if you also use GitHub to serve the repository over http/https (but is useful for other or local hosting too).

R - setting up my own CRAN repository

You might just need to specify the URL properly; http://127.0.0.1/R.

Also, make sure you can access that URL in your browser.

R-Studio setup with offline CRAN repository in Windows

I managed to solve this problem by creating a local webserver using Apache and then downloading full CRAN repository (win binaries only). I also had to edit my Rprofile.site file by providing the link to my local webserver.

R script: Installing packages from offline miniCRAN, still tries to access internet

My bad. The script should look like this:

install.packages('yaImpute', 
repos = paste0("file:///", "C:/Temp/miniCRAN/"),
type = "source")


Related Topics



Leave a reply



Submit