我試圖用木偶/流浪到一個提供VM具有:木偶不使用新的deb源來安裝最新的R版本
- [R V3.2.0(最新版本)
- 一些R封裝(具體地預測,dplyr,RMySQL)
的Vagrantfile
包含使用木偶以供應盒:
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,
}
這成功添加易鍵和文件,/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,它,雖然它並沒有解決我的問題(即完全自動安裝R V3.2.0從cran.rstudio.com ),它確實證明了存儲庫的工作原理。
你能看到我做錯了什麼嗎?爲了創建一個可重複的例子,我把這個項目放在當前狀態下的github上:https://github.com/alexwoolford/vagrantR。
謝謝@克里斯皮特曼。那麼是否應該對'default.pp'進行特定的編輯以要求源設置?我認爲'apt-get update'指令會識別添加到'/etc/apt/sources.list.d/'的源,因爲它似乎是以交互方式工作的。 –
@AlexWoolford我在答案中增加了一些信息。這有幫助嗎? –
這很完美,@ChrisPitman。我沒有意識到Puppet按照與寫入的順序不同的順序應用清單的各個部分。 –