我的目录结构如下:
c:/Users/bob/MyPackageName
c:/Users/bob/MyPackageName/R
c:/Users/bob/MyPackageName/tests
c:/Users/bob/MyPackageName/tests/testthat
我的开发会话通常包括在包根 ( c:/Users/bob/MyPackageName
) 中启动一个 R 会话,然后运行
devtools::load_all()
devtools::test()
MyPackageName/tests/testthat/mytest.R
然后在和 中交替添加小位MyPackageName/R/mycode.R
。
开始会话时返回
Loading MyPackageName
Error: object 'compute' not found whilst loading namespace 'MyPackageName'
我尝试:
- 调用显式
devtools::load_all("c:/Users/bob/MyPackageName")
- 搜索
compute
(所需的包、函数名、任何东西......)的错误实例。但一切都很好。 - 清除一些缓存,
rm(list=ls())
. devtools::load_all()
从一个会话调用一个本地化的 inc:/Users/bob/MyPackageName/tests/testthat
和另一个 inc:/Users/bob/MyPackageName/tests/testthat
。- 通过 重新生成文档
devtools::document()
,以免其中一些损坏出错。 - 删除
MyPackageName/.RData
和MyPackageName/.Rhistory
。
但什么都没有。我仍然得到Error: object 'compute' not found whilst loading namespace 'MyPackageName'
我还能尝试什么?比如什么是pre-Devtools的“全部加载”的方法?什么是“对象'计算'”?
当我在包目录之外启动一个 R 会话时,一切都很好。因此我的 R 设置很好;这个问题是在编写 R 包的背景下进行的。