![在模块路径上找不到已安装的模块](https://linux22.com/image/621055/%E5%9C%A8%E6%A8%A1%E5%9D%97%E8%B7%AF%E5%BE%84%E4%B8%8A%E6%89%BE%E4%B8%8D%E5%88%B0%E5%B7%B2%E5%AE%89%E8%A3%85%E7%9A%84%E6%A8%A1%E5%9D%97.png)
我正在尝试使用maestrodev/rvm在使用 Vagrant 配置虚拟机时,我可以使用模块,但在尝试时遇到了问题include rvm
。我一直收到
Error: Could not find class rvm for vagrant-ubuntu-saucy-64 on node vagrant-ubuntu-saucy-64
Error: Could not find class rvm for vagrant-ubuntu-saucy-64 on node vagrant-ubuntu-saucy-64
我两次看到相同的错误,并且在任何其他输出之前就看到了它。我已经使用以下方法安装了模块
puppet module install maestrodev/rvm
运行此命令后,输出结果puppet config print modulepath
为
/home/notgary/.puppet/modules:/usr/share/puppet/modules
而puppet module list
收益
/home/notgary/.puppet/modules
├── maestrodev-rvm (v1.2.0)
├── puppetlabs-apache (v0.9.0)
├── puppetlabs-concat (v1.0.0)
└── puppetlabs-stdlib (v4.1.0)
/usr/share/puppet/modules (no modules installed)
上面的输出显示了要安装的模块(列表中的第一个条目)~/.puppet/modules
,上面的输出显示了此目录包含在中modulepath
。除非我误解了这意味着什么,否则我希望按照文档中所述include rvm
在中安装 rvm /usr/local/rvm
,但是当 puppet 编译器遇到该行时,我收到了本文顶部提到的错误消息。
有人知道我在这里做错了什么吗?
答案1
默认情况下,puppet 在$confdir/模块和/usr/share/puppet/模块。
$ sudo puppet config print modulepath
/etc/puppet/modules:/usr/share/puppet/modules
这不包括$HOME/.ppet 目录,但这就是您安装模块的位置。以 root 身份安装模块,或者在$confdir/puppet.conf。