gpt4 book ai didi

r - Puppet 不使用新的 deb 源来安装最新版本的 R

转载 作者:行者123 更新时间:2023-12-04 18:47:08 27 4
gpt4 key购买 nike

我正在尝试使用 Puppet/Vagrant 来配置 VM:

  • R v3.2.0(最新版)
  • 一些 R 包(特别是预测、dplyr、RMySQL)
  • Vagrantfile contains 使用 Puppet 来配置盒子:
    Vagrant.configure(2) do |config|
    config.vm.box = "ubuntu/trusty64"
    config.vm.provision "puppet" do |puppet|
    puppet.module_path = "modules"
    end
    config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "1024"
    end
    end

    我的 default.pp目前看起来像这样:
    include apt

    apt::key { 'cran':
    id => 'E084DAB9',
    server => 'keyserver.ubuntu.com',
    }

    apt::source { 'R':
    comment => 'This is the apt repository for R - the language for statistical computing',
    location => 'http://cran.rstudio.com/bin/linux/ubuntu/',
    release => 'trusty/',
    repos => '',
    }

    exec { "apt-update":
    command => "/usr/bin/apt-get update"
    }

    Exec["apt-update"] -> Package <| |>

    package { "r-base":
    ensure => latest,
    }

    这成功添加了 apt key 和一个文件 /etc/apt/sources.list.d/R.list , 到包含以下内容的 VM:
    # This file is managed by Puppet. DO NOT EDIT.
    # This is the apt repository for R - the language for statistical computing
    deb http://cran.rstudio.com/bin/linux/ubuntu/ trusty/

    不幸的是,它安装的 R 版本是旧的(v3.0.2)。这是当您 sudo apt-get install r-base 时从 Ubuntu 存储库安装的版本。无需添加存储库。

    如果我 ssh进入盒子并手动运行 sudo apt-get install r-base它确实安装了最新版本的 R,尽管它不能解决我的问题(即从 cran.rstudio.com 全自动安装 R v3.2.0),但它确实证明了存储库有效。

    你能看出我做错了什么吗?为了创建可重现的示例,我将项目以其当前状态放在 github 上: https://github.com/alexwoolford/vagrantR .

    最佳答案

    看起来您需要在应用包之前设置源。我对 ubuntu 做的不多,但是从模块源来看,它似乎并没有自动需要源。

    Puppet 不会按照 list 中指定的顺序应用资源,而是可以按任何顺序应用它们。异常(exception)情况是当您指定两个资源之间的关系来对它们进行排序时。

    例如,执行此操作的一种方法:

    exec { "apt-update":
    command => "/usr/bin/apt-get update",
    require => Apt::Source['R']
    }

    关于r - Puppet 不使用新的 deb 源来安装最新版本的 R,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30506764/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com