我们有一些遗留脚本需要旧版本的srvyr
包。
是否有一种方法可以存储旧包的本地副本,以便在需要执行这些脚本时更容易降级?
有一个叫做pkglite
的包,它可以做你所要求的。
pkglite:一个工具、语法和标准,用于表示和交换R包源代码为文本文件。将一个或多个源包转换为文本文件,并从文件中恢复包结构。
我用data.table
包作为例子。
从GitHub安装包
remotes::install_github("Merck/pkglite")
library("pkglite")
# Example using pack/unpack
# Visit https://cran.r-project.org/web/packages/pkglite/pkglite.pdf
# For details
使用collate
和pack
将包输出到指定位置
"package/path/data.table" %>%
collate(file_default()) %>%
pack(., output = "output/path/pkglite.txt")
现在从txt文件中unpack
包并安装
# Unpack
unpack(
"output/path/pkglite.txt",
output = "path/to/unpack/package/pkglite_test",
install = T
)