FROM rocker/verse:4.2.0
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libjpeg-dev libpng-dev libtiff-dev libgif-dev libmagick++-dev \
libudunits2-dev libgsl-dev libeigen3-dev zlib1g-dev \
build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install essential R build dependencies
RUN R -e "install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','utils','vctrs'), repos='https://cloud.r-project.org')"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, pulling in dependencies
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\n')"]
/.git /.github .Rproj.user .Rhistory .RData .Ruserdata .DS_Store build pkg* *.tar.gz *.Rproj .Rbuildignore .Renviron renv
Build timed out after 600s
FROM rocker/verse:4.2.0
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libmagick++-dev libudunits2-dev libeigen3-dev zlib1g-dev \
build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install essential R build dependencies, with transitive deps
RUN R -e "install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','utils','vctrs'), repos='https://cloud.r-project.org', dependencies=TRUE)"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, pulling in dependencies
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Build timed out after 600s
FROM rocker/verse:4.2.0
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libudunits2-dev zlib1g-dev \
build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install essential R build dependencies with transitive deps
RUN R -e "options(repos = 'https://cloud.r-project.org'); install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','utils','vctrs'), dependencies=TRUE)"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, pulling in dependencies
RUN R CMD INSTALL --no-multiarch --no-build-vignettes --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Build timed out after 600s
FROM r-base:4.2.0
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libudunits2-dev zlib1g-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev \
libmagick++-dev build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install essential R build dependencies with transitive deps
RUN R -e "options(repos = 'https://cloud.r-project.org'); install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','utils','vctrs'), dependencies=TRUE)"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, pulling in dependencies
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
- ERROR: failed to build: failed to solve: process "/bin/sh -c apt-get update && apt-get install -y --no-install-recommends libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev libudunits2-dev zlib1g-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev libmagick++-dev build-essential pandoc ca-certificates git && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100 - Failing command/step: - [2/7] RUN apt-get update && apt-get install -y --no-install-recommends libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev libudunits2-dev zlib1g-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev libmagick++-dev build-essential pandoc ca-certificates git && rm -rf /var/lib/apt/lists/* Missing packages or files: - The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265 - E: The repository 'http://deb.debian.org/debian testing InRelease' is not signed. - W: GPG error: http://deb.debian.org/debian testing InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265 - W: GPG error: http://http.debian.net/debian sid InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6ED0E7B82643E131 NO_PUBKEY 78DBA3BC47EF2265 - E: The repository 'http://http.debian.net/debian sid InRelease' is not signed. Version mismatch info: - The log shows apt-get attempting to fetch from Debian sid/testing InRelease endpoints, but those repositories are not signed due to missing GPG keys. No explicit package version mismatch is indicated; the failure is caused by missing/unsigned GPG keys for the Debian sid/testing repos.
FROM rocker/verse:4.2.0
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# Prepare apt with signing keys to avoid NO_PUBKEY issues
RUN apt-get update && apt-get install -y --no-install-recommends \
gnupg dirmngr ca-certificates curl software-properties-common \
&& rm -rf /var/lib/apt/lists/*
# Add common signing keys to fix potential NO_PUBKEY errors during apt updates
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6ED0E7B82643E131 78DBA3BC47EF2265 || true
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libudunits2-dev zlib1g-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev \
libmagick++-dev build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install essential R build dependencies with transitive deps
RUN R -e "options(repos = 'https://cloud.r-project.org'); install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','utils','vctrs'), dependencies=TRUE)"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, pulling in dependencies
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Build timed out after 600s
FROM rocker/verse:4.2.0
# Non-interactive R package installation
ENV DEBIAN_FRONTEND=noninteractive
WORKDIR /gganimate
COPY . /gganimate
# Install essential R build dependencies by pulling in (transitive) dependencies
RUN R -e "options(repos = 'https://cloud.r-project.org'); install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','utils','vctrs'), dependencies=TRUE)"
# Build and install the package from source
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Concerns: The install step includes 'utils' in the CRAN install list. 'utils' is a base/R-core package and is not available on CRAN; attempting to install it will fail the build., If the build step fails due to the 'utils' package issue, the subsequent package installation and the build-from-source will not complete., COPY . /gganimate assumes the repo layout includes a valid R package in the root; if the package structure or DESCRIPTION is misaligned, the R CMD INSTALL may fail.
FROM rocker/verse:4.2.0
# Non-interactive apt installs
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libudunits2-dev zlib1g-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev \
libmagick++-dev build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install essential R build dependencies with transitive deps (excluding base 'utils')
RUN R -e "options(repos = 'https://cloud.r-project.org'); install.packages(c('ggplot2','rlang','stringi','glue','cli','scales','transformr','tweenr','vctrs'), dependencies=TRUE)"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, pulling in dependencies
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Build timed out after 600s
FROM rocker/verse:4.2.0
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, with dependencies
RUN R CMD INSTALL --no-multiarch --with-keep.source --dependencies=TRUE .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Exact error message and exit code - Warning: unknown option ‘--dependencies=TRUE’ - ERROR: dependencies ‘transformr’, ‘tweenr’ are not available for package ‘gganimate’ - ERROR: process "/bin/sh -c R CMD INSTALL --no-multiarch --with-keep.source --dependencies=TRUE ." did not complete successfully: exit code: 1 Failing command/step - [4/5] RUN R CMD INSTALL --no-multiarch --with-keep.source --dependencies=TRUE . Missing packages or files mentioned - transformr - tweenr - Note: These are reported as not available for the target package (gganimate) Version mismatch / context - Base image used: rocker/verse:4.2.0 (sha256:9e71e05fa59a2e2b76385b61470d279c8fc128288bee4992fc8f5a79814469f6) - Implication: dependencies (transformr, tweenr) are not available for the gganimate install under this R version/base image, indicating a compatibility issue between the R version in rocker/verse:4.2.0 and gganimate's dependencies.
FROM rocker/verse:4.2.0
ENV DEBIAN_FRONTEND=noninteractive
# Install system dependencies required for building R packages
RUN apt-get update && apt-get install -y --no-install-recommends \
libxml2-dev libcurl4-openssl-dev libssl-dev libgit2-dev \
libudunits2-dev zlib1g-dev libjpeg-dev libpng-dev libtiff-dev libgif-dev \
libmagick++-dev build-essential pandoc ca-certificates git \
&& rm -rf /var/lib/apt/lists/*
# Install CRAN dependencies for gganimate prior to building
RUN R -e "install.packages(c('ggplot2','rlang','stringi','glue','cli','scales'), repos='https://cloud.r-project.org', dependencies=TRUE)"
RUN R -e "install.packages(c('transformr','tweenr'), repos='https://cloud.r-project.org', dependencies=TRUE)"
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source, using the dependencies installed above
RUN R CMD INSTALL --no-multiarch --with-keep.source .
# Basic check after install
RUN Rscript -e "library(gganimate); cat('gganimate loaded, version=', as.character(utils::packageVersion('gganimate')), '\n')"
CMD ["R","-e","library(gganimate); cat('gganimate installed\\n')"]
Build timed out after 600s
FROM rocker/verse:4.2.0
# Install system dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pre-install heavy CRAN dependencies to speed up the build
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','vctrs'), repos='https://cloud.r-project.org')"
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Install package dependencies from DESCRIPTION and build from source
RUN R -e "if (!requireNamespace('remotes', quietly = TRUE)) install.packages('remotes', repos='https://cloud.r-project.org'); remotes::install_local('.', dependencies=TRUE, upgrade='never')"
# Clean up APT cache to reduce image size
RUN apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/*
# Default command: load the package in an interactive R session
CMD ["R", "-e", "library(gganimate);"]
# Ignore version control and temporary files .git .gitignore .Rproj.user/ .Rhistory .RData .Renviron renv/ renv.lock *.Rproj *.Rhistory *.RData *.tar.gz .DS_Store node_modules/ tests/ pkgdown/ docs/ vendor/ *.log
Build timed out after 600s
FROM rocker/verse:4.2.0
# Install system dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pre-install heavy CRAN dependencies to speed up the build
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','vctrs','magrittr','magick','gifski'), repos='https://cloud.r-project.org')"
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Install package dependencies from DESCRIPTION and build from source
RUN R -e "if (!requireNamespace('remotes', quietly = TRUE)) install.packages('remotes', repos='https://cloud.r-project.org'); remotes::install_local('.', dependencies = c('Depends','Imports','LinkingTo'), upgrade = 'never')"
# Clean up APT cache to reduce image size
RUN apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/*
# Default command: load the package in an R session
CMD ["R", "-e", "library(gganimate);" ]
Build timed out after 600s
FROM rocker/verse:4.2.0
# Install system dependencies
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pre-install heavy CRAN dependencies to speed up the build
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','vctrs'), repos='https://cloud.r-project.org')"
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source
RUN R CMD INSTALL . --no-multiarch --with-keep.source
# Clean up APT cache to reduce image size
RUN apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/*
# Default command: verify the package can be loaded
CMD ["R", "-e", "library(gganimate); print('gganimate loaded')"]
Build timed out after 600s
Image rocker/verse:4.2.0 exists on Docker Hub.
FROM rocker/verse:4.2.0 as builder
# Install system dependencies necessary for building R packages
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pre-install heavy CRAN dependencies to speed up the build
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','magrittr'), repos='https://cloud.r-project.org')"
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source
RUN R CMD INSTALL . --no-multiarch --with-keep.source
FROM rocker/verse:4.2.0
# Copy installed R packages from builder to final image to avoid reinstall on runtime
COPY --from=builder /usr/local/lib/R/site-library /usr/local/lib/R/site-library
# Default command: load the package to verify it can be loaded
CMD ["R", "-e", "library(gganimate); print('gganimate loaded')"]
Build timed out after 600s
FROM rocker/verse:4.2.0 AS builder
# Install system dependencies necessary for building R packages
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pre-install heavy CRAN dependencies to speed up the build
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','vctrs','magrittr'), repos='https://cloud.r-project.org')"
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source
RUN R CMD INSTALL . --no-multiarch --with-keep.source
FROM rocker/verse:4.2.0
# Copy installed R packages from builder to final image
COPY --from=builder /usr/local/lib/R/site-library /usr/local/lib/R/site-library
WORKDIR /gganimate
# Default command to verify that the package loads
CMD ["R", "-e", "library(gganimate); print(packageVersion('gganimate'))"]
Build timed out after 600s
FROM rocker/verse:4.2.0 AS builder
# Install system dependencies necessary for building R packages
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Pre-install CRAN dependencies to speed up the build
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','vctrs'), repos='https://cloud.r-project.org')"
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Build and install the package from source
RUN R CMD INSTALL . --no-multiarch --with-keep.source
FROM rocker/verse:4.2.0
# Copy installed R packages from builder to final image
COPY --from=builder /usr/local/lib/R/site-library /usr/local/lib/R/site-library
WORKDIR /gganimate
# Default command to verify that the package loads
CMD ["R", "-e", "library(gganimate); print(packageVersion('gganimate'))"]
Build timed out after 600s
FROM rocker/verse:4.2.0
# Install system dependencies necessary for building R packages
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
libcurl4-openssl-dev \
libxml2-dev \
libssl-dev \
libmagick++-dev \
libfontconfig1-dev \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# Copy package source
WORKDIR /gganimate
COPY . /gganimate
# Install CRAN dependencies and build from source
RUN R -e "install.packages(c('ggplot2','rlang','transformr','tweenr','glue','scales','stringi','progress','cli','vctrs'), repos='https://cloud.r-project.org')" \
&& R CMD INSTALL . --no-multiarch --with-keep.source
# Default command to verify that the package loads
CMD ["R", "-e", "library(gganimate); print(packageVersion('gganimeate'))"]