获取一个包的名称,在该包中函数的加载方式对roxygen非常健壮

获取一个包的名称,在该包中函数的加载方式对roxygen非常健壮,r,namespaces,packages,roxygen2,R,Namespaces,Packages,Roxygen2,我有两个包,让我们称它们为main\u-package和helper\u-package。在helper\u包中我有如下功能: helper_fn = function(r_package=environmentName(parent.frame())) { new_fn = function() { return(r_package) } return(new_fn) } 在main\u包中,我调用helper\u fn: #' @import he

我有两个包,让我们称它们为
main\u-package
helper\u-package
。在
helper\u包中
我有如下功能:

helper_fn = function(r_package=environmentName(parent.frame())) {

    new_fn = function() {
       return(r_package)
    }

    return(new_fn)
}
main\u包中
,我调用
helper\u fn

#' @import helper_package
main_fn = helper_fn()
这可以工作,并且
main\u fn
返回“main\u package”。但是,当我运行roxygen为
main\u包
构建文档和名称空间时,我得到了以下错误

Error: Failure in roxygen block beginning main_fn.R:1
using 'as.environment(NULL)' is defunct
Execution halted

roxygen正在另一个环境中执行代码,
environmentName(parent.frame())
似乎是
NULL
。有没有更好的方法让roxygen工作?

你想记录什么?我希望roxygen为
main\u包
构建文档、名称空间等。它失败了,因此
helper\u-package
没有作为导入添加到
main\u-package
的名称空间中。但是为什么要尝试记录
main\u-fn
这是一个字符串?啊,我发现我把它简化了
main\u fn
是一个由
helper\u fn
创建的函数(我已经编辑了这个问题)。当我在描述文件的“Depends”字段中添加了一个必需的包时,错误被消除了。