Ошибка при нормализации пути R блестящий

Это мой первый вопрос о переполнении стека, поэтому заранее прошу прощения, если задам довольно расплывчатый или сложный вопрос.

Я работал над разработкой небольшого веб-приложения, которое извлекает детализированные данные со страниц facebook с помощью пакета Rfacebook. Я выполнил функцию извлечения данных для этого веб-приложения и теперь перешел к разработке блестящего пользовательского интерфейса и серверных функций с помощью shinydashboard.

Я завершил один этап разработки приборной панели и несколько раз успешно тестировал его, однако после того, как я закрыл и сохранил RStudio, а затем перезапустил его, я продолжал получать эту ошибку всякий раз, когда я пытался запустить приложение.

Предупреждение: ошибка в normalizePath: path [1] = "C: \ Users \ Adel \ AppData \ Local \ Temp \ RtmpIr7Hkl \ widgetbinding16a456f01dfa": система не может найти указанный файл Трассировка стека (сначала самый внутренний): 1: shiny :: runApp Ошибка в normalizePath (path.expand (path), winslash, mustWork): path [1] = "C: \ Users \ Adel \ AppData \ Local \ Temp \ RtmpIr7Hkl \ widgetbinding16a456f01dfa": системе не удается найти указанный файл

Я попытался удалить и переустановить все соответствующие пакеты, но это не удалось. Я также попытался создать файл "widgetbinding16a456f01dfa" по указанному пути, это привело к отображению блестящей панели мониторинга, но это была нефункциональная панель. Кроме того, я попытался изменить проекты в RStudio, блестящая панель управления работала, однако всякий раз, когда я закрываю и перезапускаю RStudio, я получаю ту же ошибку, но с неопределенно разными именами файлов (например, привязка виджетов [.. разные числа])

Информация об этой ошибке в Интернете была ограничена, я подозреваю, что это ошибка RStudio, а не блестящая.

Ниже приведен код, который я использовал для ui.r

library(shiny)
library(shinydashboard)
library(shinythemes)
library(DT)
library(Rfacebook)

header <- dashboardHeader()

sidebar <- dashboardSidebar(
  sidebarMenu(

    textInput("f_id", "Enter Facebook Page ID", value = "Enter ID ..."),
    dateRangeInput('dateRange',
                   label = 'Input Date',
                   start = Sys.Date() - 2, end = Sys.Date() + 2),
    actionButton("go", "Go")
  )
)


body <- dashboardBody(
  fluidRow(
    dashboardBody(
      dataTableOutput("table1",height = 5, width = "20") 
    )  
)     )

shinyUI(
  dashboardPage(header,sidebar,body))

Ниже приведен код, который я написал для server.R

shinyServer(function(input,output){

  table <- eventReactive(input$go, {
    facebook_analyzer(input$f_id, since = format(input$dateRange[1])
                      , until = format(input$dateRange[2]))
})  

  output$table1 <-  renderDataTable(
     datatable((table()[,c("poster_name","poster_id","post_content","date_of_post")]), 
               options = list(pageLength = 5, deferRender = TRUE )))
  }) 

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


person paperclips    schedule 20.05.2016    source источник
comment
Я подозреваю, что это связано с пакетом htmlwidgets (см. github.com/ ramnathv / htmlwidgets / blob / master / R / utils.R, строка 55) или пакет, который его использует (например, DT). Можете ли вы опубликовать используемые вами версии пакетов? (используйте sessionInfo()). Также попробуйте установить версию DT на github, посмотрите, поможет ли это.   -  person Xiongbing Jin    schedule 20.05.2016
comment
аналогичная ошибка здесь stackoverflow.com/questions/47591969 /. Удалось ли вам исправить эту проблему?   -  person RockScience    schedule 01.12.2017


Ответы (1)


Я попытался воспроизвести ошибку. Я создал папку app и скопировал в нее два файла; и все работает нормально. Таким образом, более поздняя версия пакетов может решить эту проблему (с тех пор, как этот вопрос был задан, прошло более четырех лет). Кроме того, я бы убедился, что файлы server.R и ui.R находятся в одной папке, а рабочий каталог установлен в папку приложения (также в этом не должно быть необходимости).

Следующее может не относиться непосредственно к указанной проблеме, поскольку она возникла в контексте library(gfonts) и setup_font(id = "roboto",output_dir = "www",variants = "regular"), но сообщение об ошибке аналогично:

Ошибка в normalizePath (path.expand (path), winslash, mustWork): path [1] = www: системе не удается найти указанный файл

В моем случае я создал папку (www), и это устранило проблему.

Обычно команда normalizePath('myFolder') возвращает указанные выше сообщения, если каталог не существует.

Поскольку исходный вопрос содержал путь. Нужно проверить, существует ли путь (и файл). Если он существует, необходимо проверить права доступа. Если его не существует, необходимо идентифицировать библиотеку, создающую ее (...widgetbinding... ›› htmlwidgets), и проверить, решает ли проблема проблема в более новой версии или какой-либо другой обходной путь (например, более короткие пути, другая папка и т. Д.).

person Wolfgang    schedule 05.10.2020