簡體   English   中英

在puppet中執行命令之前如何安裝軟件包?

[英]How to install package before executing command in puppet?

在一個木偶課上,我有這樣的事情:

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安裝軟件包之前評估命令。 為什么會發生這種情況,如何使依從關系以正確的順序執行?

要擴展上面Matt的評論,請轉到有問題的服務器並運行which pip以查看pip的位置(在我的機器上/usr/local/pip ),然后在exec命令中附加pip的完整路徑,例如/usr/local/bin/pip install nltk

Puppet沒有常規用戶所擁有的所有pathing / env變量,因此在指定命令時需要冗長。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM