这是我关于堆栈溢出的第一个问题所以我提前道歉,以防我提出一个相当含糊或困难的问题。
我一直在开发一个小型网络应用程序,它使用Rfacebook包从Facebook页面中提取粒度数据。我已经完成了这个Web应用程序的数据提取功能,现在已经开始使用shinydashboard开发闪亮的UI和服务器功能。
我已完成仪表板开发的一个阶段,并且我已成功多次测试它,但是一旦我关闭并保存RStudio然后重新启动它,每当我尝试runApp时,我都会收到此错误。
警告: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”,它导致渲染shinydashboard,但它是非功能性仪表板。 此外,我尝试更改RStudio上的项目,shinydashboard工作,但每当我关闭并重新启动RStudio我收到相同的错误但模糊不同的文件名(即widgetbinding [..不同的数字])
网上有关此漏洞的信息有限,我有预感这是一个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 )))
})
任何帮助都会非常感激,我一直试图调试这个错误两天。谢谢!
答案 0 :(得分:0)
我试图重现该错误。我创建了一个文件夹app
并将两个文件复制到其中;而且一切正常。因此,软件包的更高版本可能会解决此问题(自提出此问题以来已经过去了四年多的时间)。此外,我将确保文件server.R
和ui.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
),并检查是否有较新的版本解决了该问题,或者是否有其他解决方法(例如,较短的路径,不同的路径)。文件夹...)。