我想创建一个闪亮的桌面应用程序,这非常漂亮的博客文章(http://www.r-bloggers.com/deploying-desktop-apps-with-r/)创建独立的闪亮应用 - Chrome的错误
所以基本上我有以下结构的文件夹中的指令后:
App
|__ GoogleChromePortable
|__ App
|__ Data
|__ ...
|__ R Portable
|__ App
|__ Data
|__ ...
|__ shiny
|__ ui.R
|__ server.R
|__ ...
|__ LAUNCH.bat/LAUNCH.vbs
|__ runShinyApp.R
我正在创建2个不同的版本,一个使用GoogleChromePortable,另一个使用GoogleChromePortable,另一个不带版本。除了Chrome的路径runShinyApp.R
之外,两个版本都是完全一样的。
runShinyApp.R
:
# checking if correct library paths are being used (only portable one!)
message('library paths:\n', paste('... ', .libPaths(), sep='', collapse='\n'))
# both chromes work!
chrome.sys = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe'
chrome.portable = file.path(getwd(),
'GoogleChromePortable/App/Chrome-bin/chrome.exe')
launch.browser = function(appUrl, browser.path=chrome.portable) {
message('Browser path: ', browser.path)
shell(sprintf('"%s" --app=%s', browser.path, appUrl))
}
shiny::runApp('./shiny/', launch.browser=launch.browser)
的应用是通过.bat
或.vbs
文件,该文件是基本相同的,但对于第一个离开指挥官提示符窗口打开的事实展开。
LAUNCH.bat
:
SET ROPTS=--no-save --no-environ --no-init-file --no-restore --no-Rconsole
R-Portable\App\R-Portable\bin\Rscript.exe %ROPTS% runShinyApp.R 1> ShinyApp.log 2>&1
LAUNCH.vbs
:
Rexe = "R-Portable\App\R-Portable\bin\Rscript.exe"
Ropts = "--no-save --no-environ --no-init-file --no-restore --no- Rconsole"
RScriptFile = "runShinyApp.R"
Outfile = "ShinyApp.log"
strCommand = Rexe & " " & Ropts & " " & RScriptFile & " 1> " & Outfile & " 2>&1"
intWindowStyle = 0 ' Hide the window and activate another window.'
bWaitOnReturn = False ' continue running script after launching R '
' the following is a Sub call, so no parentheses around arguments'
CreateObject("Wscript.Shell").Run strCommand, intWindowStyle, bWaitOnReturn
问题:
我有正出现两个版本,它是下列问题。
如果我在我的系统上安装了正常的Chrome浏览器(不是便携式版本),那么闪亮的应用程序将毫无问题地启动。它会打开一个完全只包含闪亮应用程序的新窗口。
但是,如果我做不是有一个Chrome会话打开(默认一个),这两个版本的闪亮似乎工作。一个窗口打开,但永远加载。 望着创建的日志,我得到以下错误:
[4092:3596:0621/154834:ERROR:url_pattern_set.cc(240)] Invalid url pattern: chrome://print/*
[4092:3596:0621/154834:ERROR:bluetooth_adapter_win.cc(102)] NOT IMPLEMENTED
任何想法似乎是这里的问题?
我从来没有看到闪亮的部署应用程序的这种方法。你知道你可以使用shinyapps.io或只使用你自己的闪亮服务器,对吧?托管你自己的闪亮服务器非常简单,如果你需要,我有一套很好的说明 –
谢谢你的评论。我知道Shiny部署的其他方式。然而,对于我们的项目,我们也希望与其他人分享闪亮的应用程序,以便他们可以使用自己的笔记本电脑处理能力,但仍然无需安装任何东西。 – Ewoud
@daattali能否发布或链接这些说明? –