Установка пакета R из исходного кода с помощью файла Docker - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь установить пакет r из исходного кода, используя dockerfile.Как показано здесь (для простоты используется ggplot2)

FROM rocker/r-ver

COPY . /usr/local/src/myscripts
WORKDIR /usr/local/src/myscripts

RUN R -e 'install.packages("ggplot2_3.0.0.tar.gz", repos = NULL, type = "source")'

CMD ["Rscript", "run.R"]

Как только я создаю образ, я получаю эту ошибку

> install.packages("ggplot2_3.0.0.tar.gz", repos = NULL, type = "source")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
ERROR: dependencies ‘digest’, ‘gtable’, ‘lazyeval’, ‘plyr’, ‘reshape2’, 
‘rlang’, ‘scales’, ‘tibble’, ‘viridisLite’, ‘withr’ are not available for 
package ‘ggplot2’
* removing ‘/usr/local/lib/R/site-library/ggplot2’
Warning message:
In install.packages("ggplot2_3.0.0.tar.gz", repos = NULL, type = "source") 
:>
> installation of package ‘ggplot2_3.0.0.tar.gz’ had non-zero exit status

Файлы, включенные в папку Docker, можно увидеть здесь

Кто-нибудь знает, что мне нужно добавить в dockerfile, чтобы решить (если возможно) эту ошибку?

1 Ответ

0 голосов
/ 12 октября 2018

Так как вы установили repos = NULL, вам нужно будет сначала установить все упомянутые зависимости - и их зависимости до этого.Вы можете сделать это вручную, но выяснение всех зависимостей будет хлопотным и может меняться при каждом обновлении.

Поэтому, вероятно, лучше использовать локальный менеджер пакетов.У меня нет личного опыта ни с одним из них, но вы можете попробовать {miniCRAN} .

...