如何绕过 utils::available.packages 中的缓存?
How to bypass caching in utils::available.packages?
我正在维护一个可通过 http 访问的本地网络存储库。大部分包都是从 CRAN 拿来的,但有一个包是我自己写的(称之为 mypkg
)。它正在开发中,我会不时发布版本,我想为每个版本自动更新 repo。
我写了一个相当简单的脚本
- 通过 http 检查
mypkg
的可用版本(我使用的是 miniCRAN::pkgAvail
,但这项工作实际上是由 utils::available.packages
完成的);
- 构建最新版本的
mypkg
(devtools::build
);
- 如果它的版本较新,则将其推送到存储库;
- 运行
write_PACKAGES
;
- 最后,再次检查
mypkg
的可用版本,如果版本更新,我们就可以了。
我正在测试脚本,除了最后一步外一切正常。问题是(引用 ?available.packages
的手册页,在我的方括号中插入),
[...] If [the list of packages is] downloaded, the list is cached for the R session in a per-repository file in tempdir() [...]
所以我总是得到旧版本,尽管其余的更新过程很顺利。
我的问题是,如何清除提到的缓存?
似乎不是available.packages
可以控制的,也许我错了?如果我是对的,您将如何实施第 5 步?也许重新启动会话(我会尝试作为最后的手段)?搜索临时目录并删除它?一定有一些非常简单的东西我没有看到。
我正在维护一个可通过 http 访问的本地网络存储库。大部分包都是从 CRAN 拿来的,但有一个包是我自己写的(称之为 mypkg
)。它正在开发中,我会不时发布版本,我想为每个版本自动更新 repo。
我写了一个相当简单的脚本
- 通过 http 检查
mypkg
的可用版本(我使用的是miniCRAN::pkgAvail
,但这项工作实际上是由utils::available.packages
完成的); - 构建最新版本的
mypkg
(devtools::build
); - 如果它的版本较新,则将其推送到存储库;
- 运行
write_PACKAGES
; - 最后,再次检查
mypkg
的可用版本,如果版本更新,我们就可以了。
我正在测试脚本,除了最后一步外一切正常。问题是(引用 ?available.packages
的手册页,在我的方括号中插入),
[...] If [the list of packages is] downloaded, the list is cached for the R session in a per-repository file in tempdir() [...]
所以我总是得到旧版本,尽管其余的更新过程很顺利。
我的问题是,如何清除提到的缓存?
似乎不是available.packages
可以控制的,也许我错了?如果我是对的,您将如何实施第 5 步?也许重新启动会话(我会尝试作为最后的手段)?搜索临时目录并删除它?一定有一些非常简单的东西我没有看到。