首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在docker镜像中安装R包

问无法在docker镜像中安装R包
EN

Stack Overflow用户
提问于 2018-12-29 19:21:16
回答 1查看 2K关注 0票数 4

最近几天,我在docker镜像构建过程中遇到了安装R包的问题:

代码语言:javascript
复制
> install.packages("devtools", repos = "https://mran.microsoft.com/snapshot/2018-10-25")
Installing package into ‘/usr/local/lib/R/site-library’
(as ‘lib’ is unspecified)
Warning: unable to access index for repository https://mran.microsoft.com/snapshot/2018-10-25/src/contrib:
  cannot open URL 'https://mran.microsoft.com/snapshot/2018-10-25/src/contrib/PACKAGES'
>
>
Warning message:
package ‘devtools’ is not available (for R version 3.4.4)

这是我的Dockerfile

代码语言:javascript
复制
FROM rocker/rstudio-stable:3.4.4

MAINTAINER Tazovsky

# system libraries of general use
RUN apt-get update && apt-get install -y \
    sudo \
    pandoc \
    pandoc-citeproc \
    pkg-config \
    libnlopt-dev \
    libcurl4-gnutls-dev \
    libcairo2-dev \
    libxt-dev \
    libgsl-dev \
    libssl-dev \
    libssh2-1-dev \
    libssl1.0.0 \
    libxml2-dev \
    openssl

RUN apt-get update && apt-get install -y \
    libmpfr-dev

RUN apt-get install libcurl4-openssl-dev -y

# install java
RUN apt-get update && apt-get install -y openjdk-8-jdk openjdk-8-jre
RUN R CMD javareconf

# r-java
RUN apt-get install r-cran-rjava -y

RUN R -e 'install.packages("devtools", repos = "https://mran.microsoft.com/snapshot/2018-10-25")'

我确信它在早些时候(几周前)起作用了。

另外,我检查了命令

install.packages("devtools", repos = "https://mran.microsoft.com/snapshot/2018-10-25")

在本地,它是有效的。

我还尝试通过运行以下命令来添加CA证书:

本地:

代码语言:javascript
复制
openssl genrsa -des3 -out myCA.key 2048
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem

在Dockerfile中

代码语言:javascript
复制
CP myCA.pem /tmp/myCA.pem
RUN cd tmp && \
    openssl x509 -in myCA.pem -inform PEM -out myCA.crt && \
    cp myCA.crt /usr/local/share/ca-certificates/myCA.crt && \
    update-ca-certificates && \
    rm -rf /tmp/*

但这并不管用。

知道是怎么回事吗?

EN

回答 1

Stack Overflow用户

发布于 2019-10-10 22:48:21

你可以试着改变(这对我很有效)

代码语言:javascript
复制
install.packages("devtools", repos = "https://mran.microsoft.com/snapshot/2018-10-25") 

至

代码语言:javascript
复制
install.packages("devtools", repos = "http://cran.rstudio.com/")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53969062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档