sudo: no passwd entry for app! (Capistrano 2.3.0)

2008/05/12

久しぶりに、開発中のアプリケーションをデプロイしようと Capistrano で deploy:setup タスクを実行してみたところ、次のような見慣れないエラーが出ました:

*** [err :: xxxxxx.oiax.jp] sudo: no passwd entry for app!

おそらく、つい最近(2008/05/02)Capistrano のバージョンが 2.3.0 に上がったことと関係があるだろうと思い、Google で検索してみたところ、:runner という変数をセットしなさいとのこと。

そこで、config/deploy.rbに次の1行を追加すると、問題は解消しました:

set :runner, "kuroda"

変数 :runner のデフォルト値は "app" だそうです。

ただし、この変数がいつ導入されて、いつからこのように使われるようになったのかは、よく分かりません。Capistrano 2.1 Preview #1によれば、

The deploy:restart task honors the :runner variable when it uses sudo.

ということなので、Webサーバの再起動でしかこの変数が使われないようにも読めます。