从Github下载的R包缺少功能

时间:2019-07-02 13:31:56

标签: r github download devtools

我正在将R软件包发布到GitHub(EwersLabUWyo / AquaFlux)。上传到Github似乎有效。在RStudio的新实例中,我成功下载了该软件包以进行检查,但是R中没有任何功能。

 devtools::install_github("EwersLabUWyo/AquaFlux")
 library(AquaFlux)
 AquaFlux::AquaFlux()
 Error: could not find function "AquaFlux"

到目前为止的处理/检查:

  • 在RStudio中创建了AquaFlux软件包。

  • 使用RStudio软件包检查工具彻底检查R软件包。我已解决所有错误,然后上传了软件包。

  • 我已使用Github Desktop成功上传了软件包。

  • 确认“ AquaFlux”以及所有正确的文件出现在Github目录中。

  • 确认从Github存储库下载的文件已下载到我计算机的R库中。格式与它们在Github中的显示方式不同,但是它们在那里。

****更新对评论的回复****

在开发过程中,我尝试使用roxygen2来帮助构建程序包,但是它似乎没有用,所以几周前我不再理会它。 NAMESPACE文件为空,并显示“请勿手动编辑”。

我确实去更新了DESCRIPTION文件以包括“导出:AquaFlux.Rd”,但是它仍然无法正常工作。

我可以确认本地副本和在线git repo之间的所有文件都匹配。

1 个答案:

答案 0 :(得分:1)

我只是看了看你的github。似乎您正在使用roxygen2,但尚未使用特殊标记来记录您的功能。 请查看introduction到roxygen2,但更具体地说是managing NAMESPACE

我相信您正在寻找

#' @export
AquaFlux <- function() {
  shiny::shinyApp(.AquaFlux.ui, .AquaFlux.server)
}

在您的AquaFlux_master.R文件中。通过此导出标签,Roxygen可以在名称空间中编写此函数,从而允许用户调用功能。所有不具有export标记的函数都被视为内部函数,只能由程序包调用,而不能由用户调用。

还要确保将您的项目配置为在构建设置中使用Roxygen生成文档。