我正在编写一些木偶模块并在两个模块中定义了一个包,因此出现以下错误:
err: Could not retrieve catalog from remote server: Error 400 on SERVER: Duplicate definition: Package[gnome-session-fallback] is already defined in file /etc/puppet/modules/vnc4server/manifests/init.pp at line 3; cannot redefine at /etc/puppet/modules/vino/manifests/init.pp:7 on node l
因此要确保该包尚未定义,但以下内容不起作用:
if ! defined ('gnome-session-fallback') {
package { 'gnome-session-fallback':
ensure => installed,
}
}
任何人都可以建议如何解决这个问题,并且在更广泛的范围内,避免模块中此类冲突的“正确”方法是什么?