2016-01-07 36 views
4

我已經打包的一個閃亮的應用程序作爲Windows桌面應用程序按照下面的教程:http://www.r-bloggers.com/deploying-desktop-apps-with-r/相對系統路徑是MiKTEX和pandoc - 打包爲Windows桌面應用程序閃亮應用

在我閃亮的應用程序,我提供用戶生成使用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 

有人也許NOW的如何將這種相對路徑做什麼呢? (在Windows上)它會幫助我很多!

+0

你可以嘗試'Sys.which(「pdflatex」)'但我不確定它將如何與桌面應用程序設置進行交互 – jeremycg

回答

1

我設法提供我runShinyApp.R腳本用下面的代碼的相對路徑:

miktex = file.path(getwd(), 'miktex/miktex/bin/') 
pandoc = file.path(getwd(), 'pandoc') 

Sys.setenv(PATH=paste(pandoc, sep=";", miktex)) 

只是提供了答案,因爲這可能會在未來的其他人有用。