Как эффективно сделать R Shiny охоту на запятых - PullRequest
1 голос
/ 23 марта 2020

Я упаковал блестящее приложение со всеми хорошими проверками на Windows (0 ошибка, 0 предупреждение, 0 примечание). Приложение отлично работает на моем windows компьютере и без проблем устанавливается с помощью:

remotes::install_local("my_app.tar.gz")

Затем я попытался докеризовать это приложение. Это то, что я делал раньше с успехом, поэтому я ищу ошибку кода R, но кто знает, вот мой Dockerfile :

FROM rocker/tidyverse:3.6

RUN apt-get update && apt-get install -y libv8-3.14-dev
RUN apt-get install -y xdg-utils --fix-missing && apt-get install -y apt-utils

# === R packages dependency
RUN R -e 'install.packages("pacman")'

RUN R -e "pacman::p_load('DT')"
RUN R -e "pacman::p_load('circlize')"
RUN R -e "pacman::p_load('data.table')"
RUN R -e "pacman::p_load('dplyr')"
RUN R -e "pacman::p_load('DT')"
RUN R -e "pacman::p_load('ggplot2')"

# === To use shiny package ===
COPY my_app_*.tar.gz  /app.tar.gz
RUN R -e "remotes::install_local('/app.tar.gz')"

# --- stuff to have it running whith docker run

Это дает сообщение об ошибке в контейнере linux при установке пакета:

* installing *source* package my_app ...
** using staged installation
** R
** inst
** byte-compile and prepare package for lazy loading
Error in tag("div", list(...)) : argument is missing, with no default
Error: unable to load R code in package my_app
Execution halted
ERROR: lazy loading failed for package

Предполагаемая причина проблемы : я видел из другого SO вопроса здесь , что Я должен искать дополнительную запятую, скрывающуюся где-то в коде пользовательского интерфейса.

Актуальный вопрос : может кто-нибудь посоветовать способ решить эту проблему проще, чем проверять все мои файлы пользовательского интерфейса для этого / эти дополнительные запятые (ы), пожалуйста? Хотя я и пишу функцию, которая разбирает и обрезает пробелы, я ищу 2 последовательных символа запятых, но не знаю, с чего начать ...

Заранее спасибо!

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