我如何在docker中安装R Github软件包

问题描述 投票:0回答:1

我正在尝试为我的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

我希望有人可以帮助我了解这里出了什么问题以及如何解决此问题。

非常感谢!

r docker github google-analytics devtools
1个回答
0
投票

您最好的选择是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

几乎涵盖了我们所有的内容

  • 使用Michael Rutter的PPA,通过针对Ubuntu的prebuild .deb软件包,为Ubuntu LTS(目前仍为18.04)获得了尽可能多的信息
  • 使用littler脚本install.r从CRAN安装一些软件包
  • 使用另一个littler脚本installGithub.r从GitHub安装另外两个存储库

这仅显示了我的首选排序:通过GitHub上的CRAN生成二进制文件。您的问题的关键是这些littler脚本也在Rocker的R-ver堆栈中。但是使用r-ver时,您必须非常小心关于混合,因为发布日期已由MRAN 根据设计确定。

((如果有人想了解有关[[this容器的why的更多信息,我们只需要输入pre-print on arXiv,但这是专门针对我们使用的测试和分级基础结构的。] >

© www.soinside.com 2019 - 2024. All rights reserved.