Ana*_*eam 3 google-analytics r github devtools docker
我正在尝试为 R 脚本创建 Docker 映像,以在 Google Cloud 上安排 R 作业。我目前正在使用一个小型 R 脚本对其进行测试。命令docker build在我安装的步骤失败rga。下面是我的 R 脚本和 DockerFile:
R脚本:
\n\nlibrary(rga)\nlibrary(bigrquery)\nbq_token()\nrga.open(instance = "ga", where="~/ga.rga")\n\ndemoScheduleAPI <- function(){\n search_perf <- ga$getData(XXXX, batch = TRUE, walk = TRUE, \n start.date = "2020-01-15",\n end.date = "2020-01-16",\n metrics = "ga:searchUniques",\n dimensions="ga:date,ga:hour,ga:searchKeyword, ga:searchCategory ,ga:dimension6,ga:dimension10")\n project <- "bidone-data"\n insert_upload_job(project, "GA_Export_Prod_DataSet", "Test_Table123", search_perf)\n}\nRun Code Online (Sandbox Code Playgroud)\n\nDockerfile
\n\nFROM rocker/r-ver:3.6.1\n\nRUN mkdir /home/bidone\n\nRUN R -e "install.packages(\'bigrquery\', repos=\'http://cran.rstudio.com/\')"\n\nRUN R -e "install.packages(\'devtools\', repos=\'http://cloud.r-project.org\')"\n\nRUN R -e "devtools::install_github(\'skardhamar/rga\')"\n\nCOPY .secrets /home/analysis/.secrets\n\nCOPY ga /home/analysis/ga\n\nCOPY DockerTest.R /home/analysis/DOckerTest.R\n\nCMD R -e "source(\'/home/analysis/DockerTest.R\')"\nRun Code Online (Sandbox Code Playgroud)\n\n它确实安装了 devtools 软件包,但是当它尝试安装rga从 github 安装该软件包时,会出现以下错误。
> devtools::install_github(\'skardhamar/rga\')\nError in loadNamespace(name) : there is no package called \xe2\x80\x98devtools\xe2\x80\x99\nCalls: :: ... loadNamespace -> withRestarts -> withOneRestart -> doWithOneRestart\nExecution halted\nThe command \'/bin/sh -c R -e "devtools::install_github(\'skardhamar/rga\')"\' returned a non-zero code: 1\nRun Code Online (Sandbox Code Playgroud)\n\n我该如何解决这个问题?
\n2023 年 9 月编辑:现在人们真的很想使用r2u作为容器的基础。我现在已经在 StackOverflow 上添加了一些其他答案,描述了r2u的使用,以便人们可以搜索这些答案。
对于这些东西,最好的选择是 GitHub 搜索。这是我的一个容器示例,用于支持我教授的课程,它构建在我们的 Rocker 项目的另一个 Dockerfile之上。该链接为您提供了完整的详细信息,但为了简洁起见,我们省略了一些内容
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
Run Code Online (Sandbox Code Playgroud)
这几乎涵盖了我们
install.r从 CRAN 安装一些软件包installGithub.r从 GitHub 安装另外两个存储库这只是显示了我首选的排名顺序:二进制文件优先于 CRAN,优先于 GitHub。您问题的关键点是这些较小的脚本也在 Rocker 的 R-ver 堆栈上。但对于 r-ver,你必须非常小心地混合,因为发布日期是由 MRAN设计固定的。
(如果有人想了解更多关于这个容器的原因,我们只是在 arXiv 上发布了预印本- 但这是针对我们使用的测试和分级基础设施的。
| 归档时间: |
|
| 查看次数: |
2625 次 |
| 最近记录: |