Shinicssloaders не работает при развертывании на ShinyApps.io

У меня есть приложение, которое отлично работает без добавления пакета shinycssloaders. Но по какой-то причине, после того как я добавил пакет и добавил строки (см. ниже), он перестал работать, если я разверну его с помощьюshininapps.io. Приложение отлично работает локально, просто не позволяет мне его развернуть.

# load the library
library(shinycssloaders)

withSpinner(plotOutput("my_plot")) 
# if you have `%>%` loaded, you can do plotOutput("my_plot") %>% withSpinner()

Сообщение об ошибке, которое я получаю в журнале, прикреплено ниже, но у меня есть пакет Shinycssloaders, и я пытался загрузить его из CRAN и github, но ничего не работает.

2019-05-13T16:41:39.317482+00:00 shinyapps[890504]: Using pandoc at /opt/connect/ext/pandoc2
2019-05-13T16:41:39.538904+00:00 shinyapps[890504]: Listening on http://127.0.0.1:46817
2019-05-13T16:41:43.893648+00:00 shinyapps[890504]: Warning: Error in withSpinner: could not find function "withSpinner"
2019-05-13T16:41:43.908035+00:00 shinyapps[890504]:   68: div
2019-05-13T16:41:43.908036+00:00 shinyapps[890504]:   67: mainPanel
2019-05-13T16:41:43.908034+00:00 shinyapps[890504]:   69: tags$div
2019-05-13T16:41:43.908032+00:00 shinyapps[890504]:   70: tag

Я уверен, что это работает, потому что это находится на их странице github, но я не уверен, что я сделал неправильно. В худшем случае я просто избавлюсь от него, так что это не большая проблема, но было бы здорово, если бы я мог его использовать. Любая помощь приветствуется!

РЕДАКТИРОВАТЬ Итак, я прикрепил пример кода, не стесняйтесь попробовать его развернуть, у меня не сработало. Но отлично работает локально (поскольку это пример приложения, счетчик загрузки работает очень быстро, но вы все равно сможете его увидеть).

library(shiny)
library(shinycssloaders)

ui <- fluidPage(
  actionButton("go", "Go"),
  numericInput("n", "n", 50),
  withSpinner(plotOutput("my_plot"))
)

server <- function(input, output) {

  randomVals <- eventReactive(input$go, {
    runif(input$n)
  })

  output$my_plot <- renderPlot({
    hist(randomVals())
  })
}

shinyApp(ui, server)

person timxymo1225    schedule 13.05.2019    source источник
comment
Не могли бы вы включить короткий воспроизводимый пример? (т.е. тот, который включает в себя пользовательский интерфейс и сервер?)   -  person Felix T.    schedule 13.05.2019
comment
Я отредактировал свой вопрос и добавил пример приложения, пожалуйста, если вы можете заставить его работать, спасибо @FelixT.   -  person timxymo1225    schedule 13.05.2019


Ответы (1)


Поскольку в журнале указано Warning: Error in withSpinner: could not find function "withSpinner", я добавил имя пакета перед функцией withSpinner, поэтому теперь в функции пользовательского интерфейса оно должно быть

shinycssloaders::withSpinner(plotOutput("my_plot", height = 600))

и он отлично работает с развертыванием. Хотя это кажется странным, потому что я действительно подключил библиотеку (shinycssloaders). В моем реальном приложении я прикрепил его к файлу server.R, возможно, поэтому.

person timxymo1225    schedule 20.05.2019
comment
Если вы хотите прикрепить пакеты до того, как будут получены ui.R или server.R, вы можете поместить их в файл с именем global.R. - person asachet; 20.05.2019