4

PHP の composer をグローバルにインストールしており、Puppet に composer self-update コマンドを自動的に実行させようとしています。

これが私のマニフェストです:

exec { "composer self-update":
  path    => '/usr/local/bin/'
}

root として「/usr/local/bin/composer self-update」を手動で実行すると機能しますが、パペットを実行すると次のエラーが生成されます。

notrun から 0 への変更に失敗しました: /usr/bin/env: php: No such file or directory

手動の動作が Puppet の動作と異なる理由について、私は途方に暮れています。

また、ルートとしてパペットを実行しています。

4

2 に答える 2

1

あなたが書いた方法で実行するとうまくいくはずです。それにもかかわらず、次のcommandパラメーターを使用できます。

exec { "do_some_update" :
   command => "composer self-update",
   path => "/usr/local/bin",
}

このようにして、exec必要に応じて後でを参照できます。

 file { "configuration" :
   require => Exec["do_some_update"]       
 }

タイピングではなくExec["/usr/local/bin/composer self-update"]

于 2013-09-16T18:40:00.957 に答える