我正在关注Hadley's guide to implement a DBI backend,它指示我构建从DBI类继承的S4类。
根据说明,为了使DBI类可用,似乎我只需要将DBI
列为DESCRIPTION
文件中的导入。
然而,即便这样做,我仍然会收到错误
Error in reconcilePropertiesAndPrototype(name, slots, prototype, superClasses, :
no definition was found for superclass “DBIDriver” in the specification of class “KazamDriver”
如果我明确地将DBI
附加到library
,则此问题会消失,但当然不应在程序包代码中使用library
。
我的代码:
# DBI-backend.R
setClass("KazamDriver", contains = "DBIDriver")
# DESCRIPTION
Imports:
DBI (>= 0.3.0),
methods
答案 0 :(得分:1)
DESCRIPTION文件中的Imports字段实际上并不导入任何内容。它只确保在用户安装软件包时安装列出的软件包。
相反,请使用NAMESPACE使其他包或函数可用于您的包中。另外,不要手动编辑NAMESPACE,而是使用Roxygen2(详情here)。
对于这种特殊情况,这意味着
src