有时,在Stack Overflow上,有一个问题是与系统中未安装的软件包有关的,我不打算稍后再使用。
如果我使用install.packages()
安装该软件包,它将被放入我的R安装库之一中,然后将占用一些存储空间,并在每次运行update.packages()
时进行更新。
有没有一种方法可以只为当前R session 安装软件包?
最佳答案
您可以使用以下功能临时安装软件包:
tmp.install.packages <- function(pack, dependencies=TRUE, ...) {
path <- tempdir()
## Add 'path' to .libPaths, and be sure that it is not
## at the first position, otherwise any other package during
## this session would be installed into 'path'
firstpath <- .libPaths()[1]
.libPaths(c(firstpath, path))
install.packages(pack, dependencies=dependencies, lib=path, ...)
}
您可以这样简单地使用它:
tmp.install.packages("pkgname")
该软件包安装在一个临时目录中,并且在下次系统重启时(至少在Linux系统上)应删除其文件。