R包:“错误:在加载名称空间..时找不到对象'compute'."
我的目录结构如下:
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会话并运行
My development session normally consists of starting an R session in the package root (c:/Users/bob/MyPackageName
), and running
devtools::load_all()
devtools::test()
其次是交替交替添加MyPackageName/tests/testthat/mytest.R
和MyPackageName/R/mycode.R
中的小位.
followed by alternating the addition of little bits in MyPackageName/tests/testthat/mytest.R
and in 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())
. - 从
c:/Users/bob/MyPackageName/tests/testthat
中的会话中调用本地化的devtools::load_all()
,然后在c:/Users/bob/MyPackageName/tests/testthat
中的另一个会话中调用. - 通过
devtools::document()
重新生成文档,以免其中的某些损坏. - 删除
MyPackageName/.RData
和MyPackageName/.Rhistory
.
- Calling an explicit
devtools::load_all("c:/Users/bob/MyPackageName")
- Searching for an errant instance of
compute
(package required, function name, anything..). But all is good. - Clearing some caches,
rm(list=ls())
. - Calling a localized
devtools::load_all()
from a session inc:/Users/bob/MyPackageName/tests/testthat
and another inc:/Users/bob/MyPackageName/tests/testthat
. - Regenerating the documentation through
devtools::document()
, lest some corruption in those has gone awry. - Delete
MyPackageName/.RData
andMyPackageName/.Rhistory
.
但是什么也没有.我仍然得到Error: object 'compute' not found whilst loading namespace 'MyPackageName'
But nothing. I still get Error: object 'compute' not found whilst loading namespace 'MyPackageName'
我还能尝试什么?例如,全部加载"的pre-Devtools方法是什么?什么是对象'计算'"?
What else can I try? For example, what is the pre-Devtools method of "loading all"? What is "object 'compute'"?
当我在包目录之外启动R会话时,一切都很好.因此,我的R设置很好.这个问题与编写R包有关.
When I start an R session outside of the package directory, all is well. Hence my R setup is fine; this question is in the context of writing an R package.
这可能是一种解决方法.也许您可以尝试一下.
This may be a work-around. Perhaps you can give it a try.
重建软件包(R版本3.5.0,roxygen2版本3.5.0)时遇到类似的错误Error: object 'compute' not found whilst ...
.
I have encountered similar error Error: object 'compute' not found whilst ...
when I rebuilt a package (R version 3.5.0, roxygen2 version 3.5.0).
最后,我手动删除了NAMESPACE
中的第一行S3method(compute,...)
以重新构建软件包.
I wound up with manually removing the first row S3method(compute,...)
in NAMESPACE
to get the package rebuilt.