在木偶课上,我有类似的东西:
package {'python2-pip':
ensure => installed,
} ->
exec {'pip install nltk':
command => 'pip install nltk',
creates => '/usr/lib/python2.7/site-packages/nltk',
}
预期的结果是首先安装pip,然后安装nltk。不幸的是,我收到错误消息:
Error: Failed to apply catalog: Validation of Exec[pip install nltk] failed:
'pip install nltk' is not qualified and no path was specified. Please qualify
the command or specify a path.
似乎Exec正在尝试在Package安装软件包之前评估该命令。为什么会发生这种情况,如何使依赖项以正确的顺序执行?
答案 0 :(得分:0)
要展开上面的Matt's条评论,请转到相关服务器并运行which pip
以查看pip的位置(在我的计算机/usr/local/pip
上),然后附上您的exec命令pip的路径,例如/usr/local/bin/pip install nltk
Puppet没有您常用的所有路径/ env变量,因此在指定命令时需要详细。