当我尝试使用anodes.pp文件调用模块时,出现如下错误:
节点'example.com'{include'::mysql::server'}[[受电子邮件保护]mysql]$sudo puppet apply~puppet/puppet/manifests/site.pp错误:在node example.com上找不到class::mysql::server for example.com
但我已经成功安装了模块,
[[受电子邮件保护]~]$puppet模块安装puppetlabs/mysql注意:准备安装到/home/puppet/.puppet/modules中。。。注意:已创建目标目录/home/puppet/.puppet/modules注意:从https://forge.puppetlabs.com ... 注意:安装--不要中断/home/puppet/.puppet/modules└─┬ puppetlabsmysql(v2.1.0)└── puppetlabs标准数据库(v4.1.0)
如何修复此错误?
这可能是因为您可能没有以管理员身份登录根使用者
如果您在根帐户中工作,Puppet(大概)会将模块安装到/etc/Puppet/modules中,并且不会出现问题。
这只是因为你可能创造了一个使用者帐户,然后调用puppet模块安装命令,而不使用苏多模块以~myusername/.puppet结尾。
要解决此问题,您可以使用以下命令将模块显式安装到/etc/Puppet/modules中,而不是尝试修改Puppet路径:
sudopuppet模块安装-i/etc/puppet/modules puppetlabs/mysql
现在木偶应用会很好。
此外,如果您在没有-i参数和root访问权限的情况下执行Puppet module install命令,它将把模块安装到/etc/Puppet/modules中,但是如果您没有root访问权限,它将把模块安装到~myusername/.Puppet/modules/中。
将sudo放在原始模块安装命令前面,如下所示:
sudopuppet模块安装puppetlabs/mysql
现在不会有任何问题了。您不必指定-i参数!。