我试图在使用Vagrantconfiguration虚拟机时使用maestrodev / rvm模块,但在尝试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的输出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在文件中声明的在/usr/local/rvm安装rvm,但是当puppet编译器碰到那行时,我会得到上面提到的错误信息这个post。
有谁知道我在这里做错了吗?
默认情况下,puppet在$ confdir / modules和/ usr / share / puppet / modules中查找模块 。
$ sudo puppet config print modulepath /etc/puppet/modules:/usr/share/puppet/modules
这不包括$ HOME / .puppet ,但是这是你安装模块的地方。 以root身份安装模块,或在$ confdir / puppet.conf中更改模块path 。