可能在这里做了一些非常愚蠢的事情,但我找不到任何可能导致这种情况的文档。
使用 Puppet 设置 Vagrant VM,我试图覆盖 mongodb 中的特定设置模块。
据我所知,该仓库中的 README.md 语法不正确(尽管我也尝试过)。
我的 list :
include mongodb
class { 'mongodb' :
port => '1111';
}
运行时
vagrant up
我收到以下错误:Duplicate declaration: Class[Mongodb] is already declared; cannot redeclare at /tmp/vagrant-puppet/manifests/mongodb.pp:5 on node www
如果我删除配置覆盖,它会完美运行,但没有理由不这样做。
最佳答案
您使用两种表示法来实现相同的目的,但您只能使用带有第二种表示法的参数。简而言之,您要声明它两次。
所以,只要失去'include mongodb',你就很好了。
更多信息:http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#declaring-a-class-with-include
关于 puppet 重复声明: Class[Mongodb] is already declared; cannot redeclare,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637473/