Rev 53869 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/utils/man/INSTALL.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2011 R Core Development Team% Distributed under GPL 2 or later\name{INSTALL}\alias{INSTALL}\title{Install Add-on Packages}\description{Utility for installing add-on packages.}\usage{\special{R CMD INSTALL [options] [-l lib] pkgs}}\arguments{\item{pkgs}{a space-separated list with the path names of the packages to beinstalled.}\item{lib}{the path name of the \R library tree to install to. Alsoaccepted in the form \samp{--library=lib}.}\item{options}{a space-separated list of options through which inparticular the process for building the help files can be controlled.Most options should only be given once, and paths including spaces shouldbe quoted. Use \command{R CMD INSTALL --help} for the full currentlist of options.}}\details{This will stop at the first error, so if you want all the \code{pkgs}to be tried, call this via a shell loop.If used as \command{R CMD INSTALL pkgs} without explicitly specifying\code{lib}, packages are installed into the library tree rooted at thefirst directory in the library path which would be used by \R run inthe current environment.To install into the library tree \code{\var{lib}}, use\command{R CMD INSTALL -l \var{lib} \var{pkgs}}.This prepends \code{lib} to the library path forduration of the install, so required packages in the installationdirectory will be found (and used in preference to those in otherlibraries).#ifdef windowsIt is possible that environment variable \env{TMPDIR}will need to be set (although \command{R CMD} tries to set it suitablyotherwise): use forward slashes and no spaces for the path to awritable directory.#endifBoth \code{lib} and the elements of \code{pkgs} may be absolute orrelative path names of directories. \code{pkgs} may also containnames of package archive files: these are then extracted to atemporary directory. These are tarballs containing a singledirectory, optionally compressed by \command{gzip}, \command{bzip2},\command{xz} or \command{compress}.#ifdef unixFinally, binary package archive files (as created by\command{R CMD INSTALL --binary}) can be supplied.#endif#ifdef windowsFinally, zipped binary packages (as created by\command{R CMD INSTALL --binary}) can be supplied.#endifTarballs are by default unpackaged by the internal \code{\link{untar}}function: if needed an external \command{tar} command can be specifiedby the environment variable \env{R_INSTALL_TAR}: please ensure that itcan handle the type of compression used on the tarball. (This issometimes needed for tarballs containing illegal or unsupportedsections, and can be faster on very large tarballs. Setting\env{R_INSTALL_TAR} to \samp{tar.exe} has been needed to overcomepermissions issues on some Windows systems.)The package sources can be cleaned up prior to installation by\option{--preclean} or after by \option{--clean}: cleaning isessential if the sources are to be used with more than onearchitecture or platform.#ifdef unixSome package sources contain a \file{configure} script that can bepassed arguments or variables via the option \option{--configure-args}and \option{--configure-vars}, respectively, if necessary. The latteris useful in particular if libraries or header files needed for thepackage are in non-system directories. In this case, one can use theconfigure variables \code{LIBS} and \code{CPPFLAGS} to specify theselocations (and set these via \option{--configure-vars}), see section\dQuote{Configuration variables} in \dQuote{R Installation andAdministration} for more information. (If these are used more thanonce on the command line they are concatenated.) The configuremechanism can be bypassed using the option \option{--no-configure}.#endifIf the attempt to install the package fails, leftovers are removed.If the package was already installed, the old version is restored.This happens either if a command encounters an error or if theinstall is interrupted from the keyboard: after cleaning up the scriptterminates.By default the library directory is \sQuote{locked} by creating adirectory \file{00LOCK} within it. This has two purposes: itprevents any other process installing into that library concurrently,and is used to store any previous version of the package torestore on error. A finer-grained locking is provided by the option\option{--pkglock} which creates a separate lock for eachpackage: this allows enough freedom for careful parallelinstallation as done by \code{\link{install.packages}(Ncpus =\var{n})} with \code{\var{n} > 1}. Finally locking (and restorationon error) can be suppressed by \option{--no-lock} or \option{--unsafe}(two names for the same option).#ifdef windowsWindows-only option \option{--build} can be used to zip up theinstalled package for distribution: it implies\option{--auto-zip} which selects if data file are zipped up to savedisc space.#endif#ifdef unixSome platforms (notably Mac OS X) support sub-architectures in whichbinaries for different CPUs are installed within the same librarytree. For such installations, the default behaviour is to try to buildpackages for all installed sub-architectures unless the package has aconfigure script or a \file{src/Makefile}, when only thesub-architecture running \command{R CMD INSTALL} is used. To use onlythat sub-architecture, use \option{--no-multiarch}. To install justthe compiled code for another sub-architecture, use\option{--libs-only}.#endifBy default a package is installed with static HTML help pages if andonly if \R was: use option \option{--html} to override this.Use \command{R CMD INSTALL --help} for concise usage information,including all the available options.}#ifdef unix\note{Some parts of the operation of \code{INSTALL} depend on the \Rtemporary directory (see \code{\link{tempdir}}, usually under\file{/tmp}) having both write and execution access to the accountrunning \R. This is usually the case, but if \file{/tmp} has beenmounted as \code{noexec}, environment variable \env{TMPDIR} may needto be set to a directory from which execution is allowed.}#endif\section{Packages using the methods package}{Packages that require the methods package and make use functions suchas \code{\link{setMethod}} or \code{\link{setClass}}, should beinstalled using lazy-loading: use the field \code{LazyLoad} in the\file{DESCRIPTION} file to ensure this.}\seealso{\code{\link{REMOVE}} and \code{\link{library}} for information onusing several library trees;\code{\link{update.packages}} for automatic update of packages usingthe internet (or other \R level installation of packages, such as by\code{install.packages}).The section on \dQuote{Add-on packages} in \dQuote{R Installation andAdministration} and the chapter on \dQuote{Creating R packages} in\dQuote{Writing \R Extensions}#ifdef windows(on the Help menu in \code{RGui},#endif\code{\link{RShowDoc}} and the \file{doc/manual} subdirectory of the\R source tree).}\keyword{utilities}