当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R update.packages 将已安装的软件包与类似 CRAN 的存储库进行比较


R语言 update.packages 位于 utils 包(package)。

说明

old.packages 表示存储库上有(合适的)更高版本的软件包,而 update.packages 提供下载和安装此类软件包。

new.packages 在存储库中查找尚未安装的(合适的)软件包,并可选择提供它们进行安装。

用法

update.packages(lib.loc = NULL, repos = getOption("repos"),
                contriburl = contrib.url(repos, type),
                method, instlib = NULL,
                ask = TRUE, available = NULL,
                oldPkgs = NULL, ..., checkBuilt = FALSE,
                type = getOption("pkgType"))

old.packages(lib.loc = NULL, repos = getOption("repos"),
             contriburl = contrib.url(repos, type),
             instPkgs = installed.packages(lib.loc = lib.loc, ...),
             method, available = NULL, checkBuilt = FALSE, ...,
             type = getOption("pkgType"))

new.packages(lib.loc = NULL, repos = getOption("repos"),
             contriburl = contrib.url(repos, type),
             instPkgs = installed.packages(lib.loc = lib.loc, ...),
             method, available = NULL, ask = FALSE, ...,
             type = getOption("pkgType"))

参数

lib.loc

字符向量说明要搜索的 R 库树的位置(并更新其中的包),或 NULL 用于所有已知的树(请参阅 .libPaths )。

repos

字符向量,要使用的存储库的基本 URL,例如 CRAN 镜像的 URL,例如 "https://cloud.r-project.org"

contriburl

存储库贡献部分的 URL。如果您的存储库不完整,请使用此参数。覆盖参数 repos 。与 type = "both" 不兼容。

method

下载方法参见download.file。如果提供非 NULL available,则不使用。

instlib

给出安装包的库目录的字符串。

ask

逻辑指示是否要求用户在下载和安装之前选择软件包,或者字符串 "graphics" ,它会弹出一个小部件以允许用户从可以更新的软件包列表中(取消)选择。后一个值仅适用于 GUI 版本为 select.list 的系统,否则等效于 ask = TRUEask 不控制通过 type = "both" 从源安装软件包之前提出的问题(请参阅选项 "install.packages.compile.from.source" )。

available

available.packages 列出存储库中可用的包,或 NULL 返回的对象,它对 available.packages 进行内部调用。与 type = "both" 不兼容。

checkBuilt

如果TRUE,在早期 major.minor 版本下构建的包R(例如:,3.4) 被视为‘old’。

oldPkgs

如果指定为非 NULL,update.packages() 仅考虑更新这些包。这可能是包名称的字符向量或 old.packages 返回的矩阵。

instPkgs

默认情况下所有已安装的软件包 installed.packages(lib.loc = lib.loc) 。可以指定一个子集;目前,它必须采用与 installed.packages() 返回的相同(字符矩阵)格式。

...

destdirdependencies 等参数传递给 install.packagesignore_repo_cachemax_repo_cache_agenoCache 传递给 available.packagesinstalled.packages

type

字符,指示要下载和安装的包的类型。请参阅install.packages

细节

old.packages比较来自的信息available.packages与那来自instPkgs(由计算installed.packages默认情况下)并报告存储库中具有较新版本的已安装软件包,或者,如果checkBuilt = TRUE,它们是在早期的次要版本下构建的R(例如在 3.3.x 下构建时运行R3.4.0)。 (对于二进制包类型,不会检查存储库上的版本是否是在当前次要版本下构建的R,但它被宣传为适合这个版本。)

new.packages 执行相同的比较,但报告存储库中可用的已卸载软件包。如果 ask != FALSE ,它会询问哪些软件包应安装在 lib.loc 的第一个元素中。

该集的主要函数是update.packages。首先创建 lib.loc 中找到的所有包的列表,并将其与存储库中可用的包进行比较。如果报告具有较新版本的ask = TRUE(默认)软件包,并且对于每个软件包,用户可以指定是否应更新。如果是这样,将从存储库下载软件包并安装在相应的库路径中(或instlib,如果指定)。

有关如何确定合适的可用包的列表,请参阅available.packages.available = NULL调用给available.packages(contriburl = contriburl, method = method)因此默认情况下过滤R版本、操作系统类型并删除重复项。

update.packages 以不可见方式返回NULL

对于 old.packagesNULL 或每个包一行的矩阵,行名称为包名称,列名称为 "Package""LibPath""Installed" (版本)、 "Built" (构建于其下的版本) 、"ReposVer""Repository"

对于 new.packages,在安装任何通过 ask 选择的包后,包名称的字符向量。

警告

dependencies (传递给 install.packages )与 update.packages 一起使用时要小心,因为尚不清楚应在何处安装新的依赖项。当前的实现仅允许在所有要更新的包都在单个库中时使用该库。

也可以看看

install.packagesavailable.packagesdownload.packagesinstalled.packagescontrib.url

options 下为 install.packages 列出的选项。

请参阅download.file 了解如何处理代理和其他选项来监视文件传输。

INSTALL , REMOVE , remove.packages , library , .packages , read.dcf

有关如何设置存储库的“R 安装和管理”手册。

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Compare Installed Packages with CRAN-like Repositories。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。