【发布时间】:2017-04-26 04:08:25
【问题描述】:
我有一个闪亮的应用程序,可以在我的计算机和 shinyapps.io 上完美运行。这个应用程序是为我需要共享它以在他们的桌面上运行的客户端构建的。我已经使用了here 上给出的指导。
我闪亮的服务器的第一行读取一个 RDS 文件并加载数据。如上面共享的示例中所示,我已将 RDS 复制到闪亮文件夹中。我当前的文件夹如下所示:
C:/dist/
GoogleChromePortable
R-Portable
shiny - within shiny folder i have ui.R, server.R, lhg.RDS
run.vbs
runShinyApp.R
运行.vbs
Randomize
CreateObject("Wscript.Shell").Run "R-Portable\App\R-Portable\bin\i386\R.exe CMD BATCH --vanilla --slave runShinyApp.R" & " " & RND & " ", 0, False
runShinyApp.R
.libPaths("./R-Portable/App/R-Portable/library")
browser.path <- file.path(getwd(),"GoogleChromePortable/GoogleChromePortable.exe")
options(browser = browser.path)
shiny::runApp("./Shiny/",port=8888,launch.browser=TRUE)
我的服务器是这样开始的:
lhg <- readRDS(file.path(getwd(),"LHG.RDS"))
当我运行 vbs 文件时,它会打开一个浏览器,但会抛出一条错误消息:
Error:object "lhg" not found
每次我运行时,该错误都会创建一个带有一些随机数的新文件,其中包含相同错误的日志。
有人可以帮忙吗?
【问题讨论】:
-
您的文件路径似乎不一致...您的
.libPaths添加与工作目录有关,无论 R-Portable 默认情况下,您的chrome.portable和runApp()路径都很难-从C:/编码(似乎对事物的位置做出了强有力的假设),并且您没有显示您在哪里寻找lhg文件。我没有解决方案,但我认为您需要确定工作目录的位置并从那里开始。 -
一个好的诊断工具可能是制作一个简单的闪亮应用程序,它只打印其工作目录并将其粘贴在同一框架中。
-
@Gregor 我在指定工作目录时对我的代码进行了更改...我还包含了 server.R 中读取 rds 文件的行。随着 server.R 中的更改,应用程序在我的原始代码中启动没有问题,但在可移植版本中抛出相同的错误。这是两台不同的机器。
-
你可以
printgetwd()或save到一个文本文件中检查工作目录。 -
@Bangyou 非常感谢....显然,我认为我必须在 UI 和服务器中指定路径,我这样做了。该应用程序完美地打开了几次,然后就停止了。错误日志读取“对等方重置连接”。我重新安装了闪亮的,但问题仍然存在。有点棘手,尤其是,我只知道如何在 R 中工作,而不是在 Windows 中。