2016-02-24 192 views
4

我經歷了所有的步驟去發現here,甚至得到了一個沒有錯誤的以下信息:錯誤:無法打開在R上的連接閃亮

Application successfully deployed to https://user-name.shinyapps.io/projectFolder/ 

不過,我得到試圖運行時ERROR: cannot open the connection消息程序。下面是我執導[R Studio中的文件夾(projectFolder)的內容:

ui.R    # contains only ui code 
server.R   # contains only server code 
script.R   # my full script, which contains global, ui, and server code 
gomap.js   # used for mapping app 
styles.css  # used for Shiny App 
data.csv   # my global data to be hosted on shinyapps.io 

下面是不同的腳本樣本:

ui.R

ui <- shinyUI(navbarPage("Tab title", id="nav", 
        tabPanel("Interactive map", 
           div(class="outer", 

            tags$head(
            includeCSS("/Users/user/Documents/R/projects/styles.css"), 
            includeScript("/Users/user/Documents/R/projects/gomap.js") 
           ), 
            #### more UI code #### 
    )) 
)) 

也許這個問題是因爲上面的文件路徑?我需要setwdui.Rserver.R文件的頂部嗎?還是因爲內script.R你可以找到ui.Rserver.R完整的代碼(這也許是多餘的,我需要創建一個global.R文件,只是在數據加載和處理?

的首要問題是,你怎麼破?備份文件加載到shinyapps.io

+0

您確定您可以訪問該特定位置的css和js文件嗎?如果您正在部署到您無法控制的遠程服務器,則可能還會鏈接到在線資源或將文件保留在項目的本地。 –

+0

我已經讀取和寫入了這兩個文件在這個特定的文件路徑,並且所有的文件都是本地的。我只是好奇shinyapps.io如何處理這些路徑。我的'global.R'腳本(我還沒有做,但在'script.R'中)包含如下內容:'dat < - read.csv(「data.csv」,header = T)',所以我想知道這是否是問題。我直接部署到shinyapps.io。 – blacksite

+0

這就是我的觀點。你可以肯定那些特定的文件夾可以在shinyapps.io上使用嗎?我的猜測會很少(除非我在你的問題中遺漏了一些東西?)。 Ergo,你需要將這些文件製作成「本地」或從網上下載。 –

回答

6

GBR24,有些事情你可以嘗試:

  1. 相對路徑

    設置您的措辭目錄到您的ui.R文件和server.r文件,然後使用相對路徑小寫你的子目錄像CSS部署的時候,完全沒有那些與\用戶\我\ MYR \ PROJECT1 \ ...等

    Path layout example: 
    directory with ui.r file which will be 
    --css subdirectory 
    --data 
    --www 
    

    所以當你打電話,你已經放置在數據子目錄中使用您的數據:

    myfile <- file.path("data", "data.csv") 
    dat <- read.csv(myfile, header=T) 
    
  2. NO CAPS

    這可能是與文件名和路徑的大小寫問題。這剛剛發生在我身上。在RStudio中進行部署時,如果發佈內容爲,「部署服務器警告中的文件路徑區分大小寫」,我會得到審閱問題對話框。

    因此,例如,Shiny服務器想要serverhead.R而不是serverHead.R。解決方案是將您的文件名稱更改爲小寫。現在似乎可以使用.R擴展名大寫。

    github上Windows用戶:您需要提醒Github上要小寫,因此不會與CaseNotLowered.R

    在Gitshell,會強制文件名文件推背:

    git mv -f OldName newname 
    

    感謝Github支持and answers here

  3. 看日誌

    您可以在您的部署,從RStudio使用此命令爲線索進行檢查。從控制檯的命令行使用您的帳戶和應用程序名稱:

    rsconnect::showLogs(account = "myshinyioaccount", appName = "myapp") 
    

    編輯它的前身是shinyapps::showLogs(感謝康拉德-MAC)

    比如我可以在連接錯誤消息之前看到一個文件名問題:

    ... 2016-07-12T13:13:26.061123+00:00 shinyapps[555]: Error in file(filename, "r", encoding = encoding) :

    2016-07-12T13:13:26.060971+00:00 shinyapps[555]: 2: eval.parent

    2016-07-12T13:13:26.061126+00:00 shinyapps[555]: cannot open the connection

希望這有助於!