我正在尝试为我的R脚本创建一个docker映像,以在Google云上计划R作业。我目前正在使用小型R Script对其进行测试。在我安装rga
github软件包的步骤中,docker build命令失败。下面是我的R脚本和DockerFile
R SCRIPT
library(rga)
library(bigrquery)
bq_token()
rga.open(instance = "ga", where="~/ga.rga")
demoScheduleAPI <- function(){
search_perf <- ga$getData(XXXX, batch = TRUE, walk = TRUE,
start.date = "2020-01-15",
end.date = "2020-01-16",
metrics = "ga:searchUniques",
dimensions="ga:date,ga:hour,ga:searchKeyword, ga:searchCategory ,ga:dimension6,ga:dimension10")
project <- "bidone-data"
insert_upload_job(project, "GA_Export_Prod_DataSet", "Test_Table123", search_perf)
}
DOCKERFILE
FROM rocker/r-ver:3.6.1
RUN mkdir /home/bidone
RUN R -e "install.packages('bigrquery', repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('devtools', repos='http://cloud.r-project.org')"
RUN R -e "devtools::install_github('skardhamar/rga')"
COPY .secrets /home/analysis/.secrets
COPY ga /home/analysis/ga
COPY DockerTest.R /home/analysis/DOckerTest.R
CMD R -e "source('/home/analysis/DockerTest.R')"
它确实安装了devtools软件包,但是当它尝试从github安装rga
软件包时,出现以下错误。
> devtools::install_github('skardhamar/rga')
Error in loadNamespace(name) : there is no package called ‘devtools’
Calls: :: ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart
Execution halted
The command '/bin/sh -c R -e "devtools::install_github('skardhamar/rga')"' returned a non-zero code: 1
我希望有人可以帮助我了解这里出了什么问题以及如何解决此问题。
非常感谢!
您最好的选择是GitHub搜索。这是在class I teach上构建用于支撑another Dockerfile from our Rocker Project的容器的示例。该链接为您提供了完整的详细信息,但是为了简洁起见,此处省略了一些内容]
FROM rocker/r-ubuntu:18.04
# Install required libraries -- using prebuild binaries where available
RUN apt-get update && apt-get install -y \
git \
r-cran-data.table \
r-cran-devtools \
r-cran-doparallel \
r-cran-dygraphs \
r-cran-foreach \
r-cran-fs \
r-cran-future.apply \
r-cran-gh \
r-cran-git2r \
r-cran-igraph \
r-cran-memoise \
r-cran-microbenchmark \
r-cran-png \
r-cran-rcpparmadillo \
r-cran-rex \
r-cran-rsqlite \
r-cran-runit \
r-cran-shiny \
r-cran-stringdist \
r-cran-testthat \
r-cran-tidyverse \
r-cran-tinytest \
r-cran-xts \
sqlite3 \
sudo
# Install additional R packages from CRAN (on top of the ones
# pre-built as r-cran-*)
RUN install.r bench diffobj flexdashboard lintr ttdo unix
# Install plr -- for now (?) from GH; also install visualTest
RUN installGithub.r stat430dspm/plr MangoTheCat/visualTest
几乎涵盖了我们所有的内容
install.r
从CRAN安装一些软件包installGithub.r
从GitHub安装另外两个存储库这仅显示了我的首选排序:通过GitHub上的CRAN生成二进制文件。您的问题的关键是这些littler脚本也在Rocker的R-ver堆栈中。但是使用r-ver时,您必须非常小心关于混合,因为发布日期已由MRAN 根据设计确定。
((如果有人想了解有关[[this容器的why的更多信息,我们只需要输入pre-print on arXiv,但这是专门针对我们使用的测试和分级基础结构的。] >