想咨询下大家,golem包开发shiny(内嵌Rmarkdown)后,用devtools封装后,重新安装包,但是不能调用我嵌套的Rmarkdown的问题,提示Error: The file 'R\R_Month_Report.Rmd' does not exist.,想问下大家对这一块应该如何解决呢?实在找不到答案了
问题详细情况如下:
我现在用golem包开发了一个shiny小程序供同事使用,目的是快速生成一个月报格式,包括HTML + Word,目前在R studio上面是走的通(run_dev文件可以正常打开shiny 界面,并且完成HTML + Word输出)。
参考的是这篇帖子:https://www.cnblogs.com/listen2099/p/14086795.html。R-Portable 的版本是4.2.0。
在Shiny sever 里面调用Rmarkdown文件的代码如下:
output$rendered_markdown <- renderText({ rmarkdown::render(input = "R\\R_Month_Report.Rmd", output_file = paste0(path_excel_all, "\\R_Month_Report",Sys.Date(),".html"))}
我的Rmarkdown文件是放在了RProj的R文件下,在Rproj的环境下,用run_app()打开shiny app,所有一切功能均正常。
然后使用devtools进行封装,代码为
devtools::build(path = "E:\\myShinyApp\\autoreport")
使用install加载包autoreport, 在非Rproject环境,重新打开一个R文件,并运行autoreport::run_app(),能够打开shiny界面,但是功能出现了意外,写在R shiny里面的功能代码运行正常,但是上述** rmarkdown::render** 功能的异常,提示Error: The file 'R\R_Month_Report.Rmd' does not exist.
我检查了下编译后的R包,R文件夹下面就三个文件,其中两个是rdb和rdx。
后续我在02_dev.R 文件里面尝试加入下述代码
解释是Add internal datasets If you have data in your package
usethis::use_data_raw(name = "R\\R_Month_Report.Rmd", open = FALSE)
usethis::use_data_raw(name = "R\\R_Month_report_word.Rmd", open = FALSE)
usethis::use_data_raw(name = "R\\template_word.docx", open = FALSE)
均未能成功,依然报错。
已经尝试搜索解决2天了,实在搞不定,想问下大家这种情况应该如何解决?