我正在将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之间的所有文件都匹配。
答案 0 :(得分:1)
我只是看了看你的github。似乎您正在使用roxygen2,但尚未使用特殊标记来记录您的功能。 请查看introduction到roxygen2,但更具体地说是managing NAMESPACE。
我相信您正在寻找
#' @export
AquaFlux <- function() {
shiny::shinyApp(.AquaFlux.ui, .AquaFlux.server)
}
在您的AquaFlux_master.R文件中。通过此导出标签,Roxygen可以在名称空间中编写此函数,从而允许用户调用功能。所有不具有export标记的函数都被视为内部函数,只能由程序包调用,而不能由用户调用。
还要确保将您的项目配置为在构建设置中使用Roxygen生成文档。