R包:“错误:在加载名称空间..时找不到对象'compute'." [英] R packages: "Error: object 'compute' not found whilst loading namespace .."

查看:159
本文介绍了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.RMyPackageName/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'

我尝试:

  1. 调用显式 devtools::load_all("c:/Users/bob/MyPackageName")
  2. 搜索compute的错误实例(必需的程序包,函数名称等).但是一切都很好.
  3. 清除一些缓存,rm(list=ls()).
  4. c:/Users/bob/MyPackageName/tests/testthat中的会话中调用本地化的devtools::load_all(),然后在c:/Users/bob/MyPackageName/tests/testthat中的另一个会话中调用.
  5. 通过devtools::document()重新生成文档,以免其中的某些损坏.
  6. 删除MyPackageName/.RDataMyPackageName/.Rhistory.
  1. Calling an explicit devtools::load_all("c:/Users/bob/MyPackageName")
  2. Searching for an errant instance of compute (package required, function name, anything..). But all is good.
  3. Clearing some caches, rm(list=ls()).
  4. Calling a localized devtools::load_all() from a session in c:/Users/bob/MyPackageName/tests/testthat and another in c:/Users/bob/MyPackageName/tests/testthat.
  5. Regenerating the documentation through devtools::document(), lest some corruption in those has gone awry.
  6. Delete MyPackageName/.RData and MyPackageName/.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.

这篇关于R包:“错误:在加载名称空间..时找不到对象'compute'."的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆