在Ubuntu-16.04上安装特定的R版本

时间:2019-06-13 14:03:54

标签: r docker ubuntu ubuntu-16.04

我是Ubuntu的完全新手。我发现了与我的问题相同的问题,但是我发现建议很难遵循。


上下文

我们有一个从add-apt-repository ppa:marutter/rrutter3.5运行的dockerfile。为此,我们将R与其他工具(例如git&sql)一起安装。

当前方法是添加以下仓库:apt-get install r-base并调用3.5.2

这很好用,但我们真的很担心R版本。我们的代码正在3.6.0 R版本的生产中使用。现在,当我们从头开始重建Docker映像时,存储库会自动将我们更新为3.6.0。我们希望能够修复R版本,直到以后可以测试FROM r-base:3.5.2的更高版本为止。

我看过https://hub.docker.com/_/r-base/,可以毫无问题地使用r-base=3.0.2-1precise0构建dockerfile。但是将其与我目前安装了其他工具的dockerfile结合使用git,超越了我


研究

https://superuser.com/questions/1396699/how-to-install-r-3-5-1-on-ubuntu-16-with-apt-get

  

他们说,有一种方法可以指向所需的R版本并从Source安装它。理想情况下,我想找到一个可以从中安装特定版本的存储库。如果我做不到,这很简单吗?

Install previous versions of R on ubuntu

  

如果没有更多的ubuntu知识,我很难理解答案。

https://cloud.r-project.org/bin/linux/ubuntu/README.html

  

它链接到此页面,但我看不到如何选择R版本。它只提到3.6和3.4

https://askubuntu.com/questions/435232/install-older-version-of-software-and-dependencies

  

在此示例中,他们指定r-base=3.5.2。我用const regexStorage = [{ value: '@', replace: 'hello', }, { value: '#', replace: 'bye', }]; let replaceValue = v => regexStorage.reduce((v, {value, replace}) => v.replace(new RegExp(replace, 'g'), value), v); let str = 'hi hello bye bi hello'; console.log(replaceValue(str)); console.log(str);尝试过,但是我想我需要从rrutter更改存储库


我花了很多时间在Google上搜索,但这有点雷区。任何指导都会很棒!如果我没有任何有用的东西,我深表歉意。让我知道,我会更新我的帖子

最好, 强尼

1 个答案:

答案 0 :(得分:2)

您可以使用r-base映像并安装git创建Dockerfile:

FROM r-base:3.5.2

RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y git