我正在写我的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)
我使用ranger
和kableExtra
中的函数,使用::
,如ranger::function_name
,kableExtra::function_name
,因为我只需要一个或两个函数。
我没有在命名空间文件中执行importFrom
。因为,就像我说的,我只需要借用一两个功能。
为什么我得到这个错误?我错过了什么?
2条答案
按热度按时间6bc51xsx1#
我用这个解决方法解决了这个问题:
1.在
Namespace
文件中使用importFrom
添加软件包的名称。1.如果你只是从一个使用
::
的包中借用一个函数,如果在Imports
或Depends
中提到了包名,它将引发一个错误。ev7lccsx2#
当错误与软件包
Rdpack
相关时这是更微妙的,因为我们不直接使用这个包(它是在
devtools::check()
期间内部使用的。Rdpack文档指出这一行:必须添加到文档中的任何位置(如果使用roxygen2)或NAMESPACE中的此行
如果手动维护NAMESPACE