我正在编写一些木偶模块,并在两个模块中定义了一个包,因此会出现以下错误:
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
Run Code Online (Sandbox Code Playgroud)
因此,要确保尚未定义包但以下方法不起作用:
if ! defined ('gnome-session-fallback') {
package { 'gnome-session-fallback':
ensure => installed,
}
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何解决这个问题,并在更广泛的范围内,什么是"适当的"方法来避免模块中的这种冲突?
我知道如何创建管理员角色/用户:https://github.com/plataformatec/devise/wiki/How-To : -Add- an-Admin-role
我想知道的是,在决定它们时,两个选项是否有任何优点或缺点.任何人都可以提供任何有关此的见解吗?