


On most platforms these concepts are interchangeable (shared objects and DLLs can both be loaded into the R process and be linked against), but macOS distinguishes between shared objects (extension.

The concept of a shared library ( dynamic library on macOS) as a collection of compiled code to which a package might link is also used, especially for R itself on some platforms. Installed packages may contain compiled code in what is known on Unix-alikes as a shared object and on Windows as a DLL. That used by the operating system, as a shared, dynamic or static library or (especially on Windows) a DLL, where the second L stands for ‘library’. usr/lib/R/library: in that sense it is sometimes referred to as a library directory or library tree (since the library is a directory which contains packages as directories, which themselves contain directories). The latter is used in two senses in R documentation.Ī directory into which packages are installed, e.g. On some platforms (notably macOS and Windows) there are also binary packages, a zip file or tarball containing the files of an installed package which can be unpacked rather than installing from sources.Ī package is not 1 a library. These will help with the reading of this manual, and also in describing concepts accurately when asking for help.Ī package is a directory of files which extend R, a source package (the master files of a package), or a tarball containing the files of a source package, or an installed package, the result of running R CMD INSTALL on a source package. Some notes on terminology complete this introduction. Other types of extensions are supported (but rare): See Package types.

Once a source package is created, it must be installed by the command R CMD INSTALL. For packages which contain code to be compiled, a computing environment including a number of tools is assumed the “R Installation and Administration” manual describes what is needed for each OS.
