无法弄清楚如何使用puppet apt模块

时间:2015-05-06 10:56:08

标签: vagrant puppet

我正在尝试使用木偶来配置流浪汉的debian盒子。我想使用puppetlabs / apt模块将postgresql存储库添加到源列表中。但是,无论我尝试什么,我都会收到这个错误:

==> default: Syntax error at '{'; expected '}' at /etc/puppet/modules/apt/manifests/init.pp:18 on node packer-debian-7

这是我在default.pp文件中的内容:

include 'apt'
class { 'apt': }

apt::source { 'pgdg':
    location => 'http://apt.postgresql.org',
    repos => 'main',
    key => {
        source => 'https://www.postgresql.org/media/keys/ACCC4CF8.asc'
   },
}

有人能说出我做错了什么吗?我一般都是傀儡和红宝石的新手。

2 个答案:

答案 0 :(得分:4)

您遇到的问题是最新版本的puppetlabs / apt与基本盒中安装的puppet版本不兼容。 apt-module需要木偶版本> = 3.0。您可以使用以下命令检查当前安装的puppet的版本:

puppet --version

此处描述了一个有效的解决方案:http://blog.doismellburning.co.uk/2013/01/19/upgrading-puppet-in-vagrant-boxes/

答案 1 :(得分:2)

您肯定遇到apt实例化问题。使用class(不推荐)或include(我推荐此方法:explanation)。如果您使用include,请删除引号。

总之,改变:

include 'apt'
class { 'apt': }

为:

include apt