我正在尝试使用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中来解决(如果可能)此错误吗?
答案 0 :(得分:1)
由于设置了repos = NULL
,因此需要首先安装所有提到的依赖项,然后再安装它们的 依赖项。您可以手动执行此操作,但弄清所有依赖关系将很麻烦,并且每次更新都会更改。
因此,最好使用本地软件包管理器。我对他们中的任何人都没有经验,但是您可以尝试{miniCRAN}。