我正在开发具有内部数据的R(3.3.2(中的软件包。数据通过
添加到./r/sysdata.rdadevtools::use_data(dataset, pkg = 'pkgName', internal = TRUE, overwrite = TRUE)
在软件包中,我添加并导出了一个简单的功能:
show.r
show = function() {
print(dataset)
)
我正在本地安装该软件包:
devtools::install(pkg = 'pkgName',
args = paste('--library=', installLocation, sep = ''),
reload = TRUE,
local = FALSE)
最后,我可以毫无问题地致电表演:
library(pkgName, lib.loc = installLocation)
show()
# ...output as expected
当我更改 sysdata.rda中的数据时,我会遇到麻烦。无论我尝试什么,我可以从已安装的软件包中加载新数据的唯一方法是在我重新启动R。
我尝试过:
detach('package:pkgName', unload = TRUE)
unloadNamespace(pkgName)
remove.packages(pkgName, lib = installLocation)
我还确认了源位置中的数据已更新:
load(sysdata.rda) # looks good
内部sysdata在哪里被缓存,我如何清除或至少强制刷新?
您需要在sysdata.rda的干净r会话中进行记录并安装软件包,以适当刷新。
回答我现在遇到的问题,并在寻找解决方案时到达此页面。