当我尝试使用Anodes.pp文件调用模块时,我会遇到以下错误:
节点'example.com'{include':: mysql :: server'} [[电子邮件保护]mysql] $ sudo puppet apply〜puppet/puppet/upets/site.pp错误:找不到class :: mysql :: expless expless.com on node example.com上
但是我已经成功安装了模块,
[[[电子邮件保护]〜] $ puppet模块安装puppetLabs/mysql注意:准备安装到/home/puppet/.puppet/.puppet/modules ...注意:创建target direct directory/home/puppet/.puppet/modules注意:从https下载https:// forge:// forge://.puppetlabs.com ...注意:安装 - 不要中断... /home/puppet/.puppet/modules└-puppetlabs-mysql(v2.1.0)└ - puppetlabs-stdlib(v4.1.0)
如何解决此错误?
这可能是因为您可能不会被登录根用户。
如果您在Root帐户中工作,Puppet(大概)将已将模块安装到/etc/puppet/模块中,那么就没有问题。
这只是因为您可能已经创建了用户帐户,然后调用Puppet模块安装命令Sudo模块最终以〜Myusername/.puppet为单位。
要解决问题,您可以使用以下命令将模块明确安装到/etc/puppet/模块:
sudo puppet模块安装-i/etc/puppet/模块puppetlabs/mysql
现在,木偶申请可以正常工作。
此外,如果您执行Puppet模块安装命令,没有-i参数和根访问,它将将模块安装到/etc/eetc/puppet/模块中,但是如果您没有root访问权限,它将其安装到〜myusername/。木偶/模块/。
将Sudo放在原始模块安装命令的前面:
sudo puppet模块安装puppetlabs/mysql
现在不会有任何问题。您不必指定-i参数!。