R语言 “导入”字段中的命名空间不是从以下位置导入的:应使用所有已声明的导入

mi7gmzs6  于 2023-06-27  发布在  其他
关注(0)|答案(2)|浏览(126)

我正在写我的R包。我得到这个错误:

Namespaces in Imports field not imported from:
   ‘kableExtra’ ‘ranger’
  All declared Imports should be used.

我得到这个错误与devtools::check_rhub()即。在Linux和Windows平台上。当我用devtools::check()在本地(mac os)检查我的软件包时,所有检查都成功通过。
我深入研究了我的描述文件的导入,目前我正在做:

Imports:  
    ranger(>= 0.10.1),
    Metrics(>= 0.1.3),
    kableExtra(>= 0.9.0)

我使用rangerkableExtra中的函数,使用::,如ranger::function_namekableExtra::function_name,因为我只需要一个或两个函数。
我没有在命名空间文件中执行importFrom。因为,就像我说的,我只需要借用一两个功能。
为什么我得到这个错误?我错过了什么?

6bc51xsx

6bc51xsx1#

我用这个解决方法解决了这个问题:
1.在Namespace文件中使用importFrom添加软件包的名称。
1.如果你只是从一个使用::的包中借用一个函数,如果在ImportsDepends中提到了包名,它将引发一个错误。

ev7lccsx

ev7lccsx2#

当错误与软件包Rdpack相关时

Namespace in Imports field not imported from: 'Rdpack'

这是更微妙的,因为我们不直接使用这个包(它是在devtools::check()期间内部使用的。Rdpack文档指出这一行:

# ' @importFrom Rdpack reprompt

必须添加到文档中的任何位置(如果使用roxygen2)或NAMESPACE中的此行

importFrom(Rdpack,reprompt)

如果手动维护NAMESPACE

相关问题