写R包时源码缓存的由来

Origin of source code caching when writing an R package

即使我 setwd()(在 R 会话 运行 宁在 Emacs/ESS 缓冲区中)到我的 R 包的根和 运行 devtools::load_all() 在那里,当我调用一个函数时,我发现我正在 运行 正在使用一个版本的函数,该版本不再存在于当前的 R 包中。 运行rm(<function_name>),后面是source-ing相关文件,帮不上忙。

我可能 运行 正在安装我无意中安装的软件包版本?,我问自己。我运行lapply(.libPaths(), dir)回答了,但是我的包裹没有出现

这是怎么回事? Where/how 是否进行了缓存?

更新

运行

rm(list=ls())

如所述 here 解决了问题。虽然目前还不清楚问题一开始可能是什么。非常欢迎解释。

R 将您的全局环境缓存在一个文件中 .Rdata。删除它并开始新的会话。