Ich versucheErstellen von Stand-alone-Shiny App - Chrome Fehler
eine glänzende Desktop-Anwendung nach der Anweisung von dieser sehr schönen Blog-Post ( http://www.r-bloggers.com/deploying-desktop-apps-with-r/) im GrundeAlso erstelle ich einen Ordner mit der folgenden Struktur:
App
|__ GoogleChromePortable
|__ App
|__ Data
|__ ...
|__ R Portable
|__ App
|__ Data
|__ ...
|__ shiny
|__ ui.R
|__ server.R
|__ ...
|__ LAUNCH.bat/LAUNCH.vbs
|__ runShinyApp.R
ich schaffe 2 verschiedene Versionen, eine mit und eine ohne GoogleChromePortable. Beide Versionen sind genau die gleichen abgesehen von dem Weg in runShinyApp.R
Chrome.
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)
Die App über eine .bat
oder .vbs
Datei gestartet wird, die im Grunde die gleichen sind, aber für die Tatsache, dass Sie die erste Kommandant Aufforderungsfenster offen lässt.
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
Ausgabe:
Die Frage, die ich in beiden Versionen wird erscheinen habe und ist die folgende.
Hab ich meine normalen Chrome gestartet (NICHT die portable Version) auf meinem System installiert, startet die glänzende App ohne Probleme. Es öffnet sich ein neues Fenster vollständig nur die glänzende App enthält.
Allerdings, wenn ich nicht habe eine Chrome-Sitzung geöffnet (Standard eins), scheinen keine der beiden Versionen der glänzend. Ein Fenster öffnet sich, aber lädt für immer. an den erstellten Protokollen der Suche, bekomme ich folgende Fehlermeldung:
[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
Jede Idee, was das Problem hier zu sein scheint?
Ich sah nie diese Methode der Bereitstellung von glänzenden Apps: Sie können auch GitHub Pakete in das
remotes
Argument enthalten. Sie wissen, dass Sie shinyapps.io verwenden können oder einfach Ihren eigenen glänzenden Server verwenden, richtig? Ihren eigenen glänzenden Server zu hosten ist sehr einfach, ich habe eine schöne Reihe von Anweisungen, wenn Sie brauchen –Vielen Dank für Ihren Kommentar. Ich bin mir der anderen Möglichkeiten der Shiny-Bereitstellung bewusst. Aber für unser Projekt möchten wir auch die glänzende App mit anderen teilen, damit sie ihre eigene Laptop-Verarbeitungsleistung nutzen können, aber immer noch ohne den Aufwand, irgendetwas zu installieren. – Ewoud
@daattali könnten Sie diese Anweisungen posten oder verlinken? –