自前でnpmパッケージをインストールする時に
%w{xxx yyy}.each do |p| execute p do command 'npm install -g ' + p end endとしていたんですが、これだと毎回installが実行されてしまうので、レシピの実行時間が長くなってしまっていました。
なんとか解決したいなーと調べてみると https://github.com/balbeko/chef-npm/pull/9/files を見つけたので、真似してみました。
%w{xxx yyy}.each do |p| execute p do command 'npm install -g ' + p not_if "npm -g ls 2> /dev/null | grep '^[├└]─[─┬] #{p}@'" end endみたいな感じで手動で試してみたらうまくいくんですけど、chefからだとうまくいかないのは何故だ。。。(解決したら更新します。。。)
No comments:
Post a Comment