我的 puppet 代理运行最初失败,然后在第二次运行时成功。我明白这可能与我的执行顺序有关,并且在执行过程中稍后添加了依赖项。
但是,我无法弄清楚缺少的依赖项是什么,有没有什么故障排除实践可以帮助我弄清楚?
这是我的错误:
CXX(target) Release/obj.target/contextify/src/contextify.o
make: g++: Command not found
make: *** [Release/obj.target/contextify/src/contextify.o] Error 127
.. 这是在我的 puppet 类尝试安装 NPM 模块时发生的:
/usr/bin/node /usr/bin/npm install --global log.io --user 'monitor'
-
可能相关的其他要点
- 我理解这个失败与 g++ 二进制文件有关,但是我看不出除了这个失败之外的任何目录可以安装 g++(我想我应该找到一个“gcc”或“make”包,或者一个以其中一个为依赖项的包)
- 此故障不会发生在我的 Vagrant 测试环境中,只会在尝试配置 AWS 实例时发生
- 运行 CentOS 6.4
感谢您的帮助!
答案1
您可能没有使用 Vagrant 配置最小服务器,因此您需要的所有软件包都已安装。
您可以使用以下方式找到所需的包yum
:
yum whatprovides '*/g++'
无论包是否安装,这都可以起作用。
然后,您可以在某个类的适当位置包含命名的包:
package { 'gcc-c++':
ensure => installed,
}