我想創建一個閃亮的桌面應用程序,這非常漂亮的博客文章(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能否發佈或鏈接這些說明? –