使用leaflet和googlesheets API部署shinyapp时出错

时间:2016-12-29 14:30:20

标签: r leaflet shiny google-sheets-api

我正在开发一个在本地工作的shinyapp,但每次我尝试在shinyapps.io上发布它时都会抛出错误。

我已经使用传单发布了应用程序并且它们可以工作,我也在其他应用程序中使用了googlesheets,并且该程序包也可以正常工作。但当我完全使用它们时,应用程序返回Error : there is no package called ‘leaflet’. 这很奇怪,因为在这个示例应用程序中它确实找到了包。

传单工作:

library(shiny)
library(leaflet)

# UI 
ui <-(fluidPage("Example", leafletOutput("map")))

# Server 
server = (function(input, output) {
  output$map   <- renderLeaflet({
      leaflet()    %>% 
        addProviderTiles("CartoDB.Positron")   %>% 
        setView(-58.43152, -34.6052, zoom=11 )    
  })
})

shinyApp(ui = ui, server = server)

传单工作:

library(shiny)
library(leaflet)
library(googlesheets)
library(sp)
library(rgdal)
library(DT)

options("googlesheets.httr_oauth_cache" = "gs_auth")
gs_auth()
rdv <- gs_url("https://docs.google.com/spreadsheets/d/1eWxmy7kSjWVfloJiS4ycjn4YKx2OybIzWogX7ga4fUQ/edit?usp=sharing", lookup = NULL, visibility = NULL, verbose = TRUE)

shape  <- readRDS("shape_ok.rds")
bounds <- bbox(shape)

sheet <- gs_read(rdv, ws = 3)


# UI
ui <-(fluidPage("Example", 
                  leafletOutput("map"),
                  dataTableOutput("table")
               )
)

# Server
server = (function(input, output) {

  output$map   <- renderLeaflet({
      leaflet(shape)    %>% 
        addProviderTiles("CartoDB.Positron")    %>% 
        setView(-58.43152, -34.6052, zoom=11 )  %>%
        addPolygons(stroke = T, fillOpacity = 0.65, smoothFactor = 0.5)
  })

  output$table <- renderDataTable({ as.data.frame(sheet) })

})

# Run the application 
shinyApp(ui = ui, server = server)

我还使用googlesheets部署了应用程序并且它们可以工作。所以当我使用这两个软件包并得到传单错误时,我不知道发生了什么。

1 个答案:

答案 0 :(得分:1)

我下载了一个阿根廷语RDS文件并让它在本地工作而不做任何更改(带警告的albiet)。我也成功地通过以下网址将其发布到shinyapps.io:https://mikewise2718.shinyapps.io/Argentina/

我使用的是RStudio版本:0.99.903

所以它可能是某种版本问题,这是我的--until

sessionInfo()