使用Docker文件从源代码安装R软件包

时间:2018-10-12 10:27:27

标签: r docker dockerfile r-package install.packages

我正在尝试使用dockerfile从源代码安装r软件包。就像这里看到的一样(为简单起见,使用ggplot2)

FROM rocker/r-ver

COPY . /usr/local/src/myscripts
WORKDIR /usr/local/src/myscripts

RUN R -e 'install.packages("ggplot2_3.0.0.tar.gz", repos = NULL, type = "source")'

CMD ["Rscript", "run.R"]

建立图片后出现此错误

> install.packages("ggplot2_3.0.0.tar.gz", repos = NULL, type = "source")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
ERROR: dependencies ‘digest’, ‘gtable’, ‘lazyeval’, ‘plyr’, ‘reshape2’, 
‘rlang’, ‘scales’, ‘tibble’, ‘viridisLite’, ‘withr’ are not available for 
package ‘ggplot2’
* removing ‘/usr/local/lib/R/site-library/ggplot2’
Warning message:
In install.packages("ggplot2_3.0.0.tar.gz", repos = NULL, type = "source") 
:>
> installation of package ‘ggplot2_3.0.0.tar.gz’ had non-zero exit status

可以看到here

包含在docker文件夹中的文件

有人知道我需要添加到dockerfile中来解决(如果可能)此错误吗?

1 个答案:

答案 0 :(得分:1)

由于设置了repos = NULL,因此需要首先安装所有提到的依赖项,然后再安装它们的 依赖项。您可以手动执行此操作,但弄清所有依赖关系将很麻烦,并且每次更新都会更改。

因此,最好使用本地软件包管理器。我对他们中的任何人都没有经验,但是您可以尝试{miniCRAN}