我正在构建一个包,并得到一个错误,说函数不是包的导出对象。在R脚本中,我使用@export标签来导出函数,但是当我使用document()或roxygen()进行roxigenise时,该函数不会导出到命名空间(虽然创建了该函数的Rmd文件)。
我也遇到过类似的问题。结果发现,在我的函数中,我注释掉了以撇号开头的一行(在我的假示例中是在'Battlestar Galactica'前面),所以它看起来像这样:
#' @export
getMyFavoriteSciFiShows <- function() {
myFavoriteSciFiShows <-
c('Star Trek Next Generation',
#'Battlestar Galactica',
'Babylon 5')
return(myFavoriteSciFiShows)
}
这真的搞砸了roxygen2 v 6.0.1,因为它没有发出任何错误信号,这是它在我的NAMSEPACE文件中写入的内容:
export("Galactica',")
export(Battlestar)
这件事发生在我身上,然后我跑了
devtools::document()
,点击Build
选项卡中的check
,问题就解决了。
我给这个答案的人谁可能有同样的问题和搜索这个。也许会有帮助。