我按照以下教程将一个Shiny应用程序打包为
Windows桌面应用程序:
http://www.r-bloggers.com/deploying-desktop-apps-with-r/
在我的Shiny应用程序中,我提供用户使用pandoc和MikTex生成PDF报告.
为了在我的桌面应用程序中工作,我在runShinyApp.R脚本中添加了以下代码.
Sys.setenv(PATH=paste("C:/Users/WoBa/Documents/dist/pandoc",sep=";",
"C:/Users/WoBa/Documents/dist/miktex/miktex/bin/"))
虽然这可以正常工作,但我希望这条路径是相对的,因此可以将应用程序分发给其他用户,而无需更改路径.
我尝试了以下 – 但这不起作用:
Sys.setenv(PATH=paste("./pandoc",sep=";",
"./miktex/miktex/bin/"))
文件夹结构如下:
dist/
+ GoogleChromePortable
+ miktex
+ pandoc
+ R-Portable
+ runShinyApp.R
+ run.bat
任何人都可能知道如何使这条路径相对? (在Windows上)它会帮助我很多!
最佳答案 我设法在runShinyApp.R脚本中提供了以下代码的相对路径:
miktex = file.path(getwd(), 'miktex/miktex/bin/')
pandoc = file.path(getwd(), 'pandoc')
Sys.setenv(PATH=paste(pandoc, sep=";", miktex))
只是提供答案,因为这可能对将来的其他人有用.