Сбой Portable Chrome при развертывании автономного блестящего приложения, когда установленная версия Chrome не запущена - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь развернуть отдельное блестящее приложение для своей компании и коллег, чтобы оно использовалось без установки R. Я прочитал инструкции, чтобы сделать это с портативными версиями R и Chrome . Инструкции довольно просты и работают как шарм. Единственное, что приложение не работает, когда на моем компьютере не открыта обычная версия Chrome. Он открывает пустое окно Chrome и в лог-файле отображается этот код ошибки:

[8268: 13428: 0115 / 120242.667: ОШИБКА: browser_gpu_channel_host_factory.cc (139)] Не удалось запустить процесс графического процессора. [8268: 8444: 0115 / 120242.980: ОШИБКА: in_progress_cache_impl.cc (203)] Кэш не инициализирован, не может RetrieveEntry. [8268: 8444: 0115 / 120242.981: ОШИБКА: in_progress_cache_impl.cc (203)] Кэш не инициализирован, не может RetrieveEntry. [8268: 8444: 0115 / 120242.981: ОШИБКА: in_progress_cache_impl.cc (203)] Кэш не инициализирован, не может RetrieveEntry. [8268: 8444: 0115 / 120242.982: ОШИБКА: in_progress_cache_impl.cc (203)] Кэш не инициализирован, не может RetrieveEntry. [8268: 8444: 0115 / 120242.982: ОШИБКА: in_progress_cache_impl.cc (203)] Кэш не инициализирован, не может RetrieveEntry. [8268: 8444: 0115 / 120242.983: ОШИБКА: in_progress_cache_impl.cc (203)] Кэш не инициализирован, не может RetrieveEntry. [8268: 13428: 0115 / 120243.047: ОШИБКА: browser_gpu_channel_host_factory.cc (139)] Не удалось запустить процесс GPU.

Как только я закрою окно, убейте задачу R в диспетчере задач, откройте мою обычную версию Chrome и перезапустите программу, все работает нормально. Код для моего runShinyApp.R:

message('library paths:\n', paste('... ', .libPaths(), sep='', collapse='\n'))
chrome.portable = file.path(getwd(),
                            '../GoogleChromePortable/App/Chrome-bin/chrome.exe')
launch.browser = function(appUrl, browser.path=chrome.portable) {
  browser.path = chartr('/', '\\', browser.path)
  message('Browser path: ', browser.path)
  CMD = browser.path
  ARGS = sprintf('--app="%s"', appUrl)
  system2(CMD, args=ARGS, wait=FALSE)
  NULL
}
shiny::runApp('./shiny/', launch.browser=launch.browser)

Мой run.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, приложение работает нормально, но это не так. Этот вид не соответствует цели переносимой версии и является еще одной досадной инструкцией, которую я должен дать своим коллегам перед использованием приложения.

Кто-нибудь знает, как это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...