Я упаковал блестящее приложение со всеми хорошими проверками на 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 последовательных символа запятых, но не знаю, с чего начать ...
Заранее спасибо!