Я пытаюсь проверить упаковку с контейнером docker. Вот мой dockerfile:
FROM rocker/tidyverse:3.6.3
# Install java and rJava
RUN apt-get -y update && apt-get install -y \
default-jdk \
r-cran-rjava \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/
# Install ODBC stuff
RUN apt-get -y update && apt-get install -y --install-suggests \
unixodbc unixodbc-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/
# Install further R packages
RUN install2.r --error --deps TRUE \
RJDBC \
odbc \
&& rm -rf /tmp/downloaded_packages/ /tmp/*.rds
RUN apt-get update
WORKDIR /home/project
COPY ./packrat/packrat.lock packrat/
RUN install2.r packrat
RUN Rscript -e 'packrat::restore()'
COPY packrat_test.R .
CMD Rscript packrat_test.R
Вот packrat_test.R:
library(lubridate)
library(broom)
library(magrittr)
library(tidyverse)
library(rlang)
library(RPostgres)
library(DBI)
library(rJava)
library(timeDate)
library(HSAUR3)
library(chron)
library(ncdf4)
library(stringr)
library(chron)
library(aws.s3)
print('testing packrat')
Я запускаю это как задачу на AWS ECS с использованием Fargate. Задача не выполняется из-за: Ошибка в библиотеке (R Postgres): нет пакета с именем 'RPostgres'. Однако этот файл определен в файле packrat.lock. Любые идеи о том, что может пойти не так?
Большое спасибо