【问题标题】:Error in normalize path R shiny标准化路径 R 闪亮时出错
【发布时间】:2016-09-17 09:24:33
【问题描述】:

这是我关于堆栈溢出的第一个问题,所以如果我提出一个相当模糊或困难的问题,我提前道歉。

我一直致力于开发一个小型网络应用程序,该应用程序使用 Rfacebook 包从 facebook 页面中提取粒度数据。我已经完成了这个网络应用程序的数据提取功能,现在已经开始使用 shinydashboard 开发闪亮的 UI 和服务器功能。

我已经完成了仪表板开发的一个阶段,并且我已经成功地对其进行了多次测试,但是一旦我关闭并保存了 RStudio,然后重新启动它,每当我尝试 runApp 时,我都会不断收到此错误。

Warning: E​​rror in normalizePath: path[1]="C:\Users\Adel\AppData\Local\Temp\RtmpIr7Hkl\widgetbinding16a456f01dfa": 系统找不到指定的文件 堆栈跟踪(最内层优先): 1: 闪亮::runApp normalizePath(path.expand(path), winslash, mustWork) 中的错误: path[1]="C:\Users\Adel\AppData\Local\Temp\RtmpIr7Hkl\widgetbinding16a456f01dfa": 系统找不到指定的文件

我尝试删除并重新安装所有相关软件包,但是失败了。 我还尝试在指定路径中创建一个文件“widgetbinding16a456f01dfa”,它导致渲染了闪亮的仪表板,但它是非功能仪表板。 此外,我尝试在 RStudio 上更改项目,shinydashboard 工作,但是每当我关闭并重新启动 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))

下面是我为服务器写的代码。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 )))
  }) 

任何帮助将不胜感激,我已经尝试调试此错误两天了。谢谢!

【问题讨论】:

标签: path shiny rstudio normalize shinydashboard


【解决方案1】:

我试图重现错误。我创建了一个文件夹app 并将两个文件复制到其中;一切运行良好。因此,更新版本的软件包可能会解决这个问题(自从提出这个问题以来已经过去了四年多)。此外,我会确保文件 server.Rui.R 在同一个文件夹中,并且工作目录设置为 app 文件夹(这也不应该是必需的)。

以下可能不适用于所述问题,因为它发生在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),并检查新版本是否解决了该问题,或其他一些解决方法(例如更短的路径、不同的文件夹、.. .).

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 2018-07-23
    相关资源
    最近更新 更多