2016-04-27 107 views
2

我一直在嘗試使用rsconnect部署閃亮的應用程序:deployapp(appname = "myapp")。我收到以下消息在命令提示符下:閃亮的應用程序部署 - 錯誤(無法更改工作目錄)

Application successfully deployed to https://sitename.shinyapps.io/MyApp/

然而,當我啓動應用程序,我得到錯誤信息:

基於兩個#1和googleforum類似問題的解決

ERROR: cannot change working directory

,我嘗試在setwd()中使用絕對路徑和相對路徑。以下是與絕對和相對路徑的錯誤消息setwd()

Error in setwd("~/Data/Projects/MyApp"): cannot change working directory

Error in setwd("C:/Users/Documents/Data/Projects/MyApp"): cannot change working directory

任何建議,以解決這一問題將不勝感激。提前致謝!

+0

糾正我,如果我錯了,但是當你部署一個閃亮的應用程序是不是你自己的服務器上?你不需要setwd ..你曾經部署過的地方就是wd。 –

回答

2

shinyapps.io是一款運行閃亮應用的虛擬化容器服務。

  1. 這很可能是基於Linux的。我沒有時間寫一個 閃亮的應用程序來確認,但像大多數虛擬容器讓我們假設它是。
  2. 1表示正確。像C:/這樣的路徑在Linux世界中沒有意義。
  3. 再次考慮到1,目錄結構~/Data可能不存在。
  4. 相對路徑 ~/

工作也投入了checkguard與dir.exists()dir.create

dirname <- '~/Data/Projects/MyApp' 
if (!dir.exists(dirname))dir.create(dirname,recursive=TRUE) 

僅供參考我真的不認爲你應該shinyapps做任何setwd()。如果數據文件位於~/Data/Projects/Myapp/somedata.csv中,則可以在應用中直接讀取read.csv('somedata.csv')

服務器目錄結構中的/srv/shiny-server/MyShinyApp形式,當你上傳

+0

謝謝你們的建議......回頭我正在使用相同的應用程序文件在本地運行並在服務器上進行部署...在手中,我應該在部署應用程序時避免使用setwd()... – xineers

+0

我有同樣的問題,確實是'setwd()'。我刪除它,它的工作! –

相關問題