knife-soloで非管理者ユーザのローカルruby環境にrailsを入れたい

rbenvを使って非管理者ユーザのローカにrubyを入れているが、knife-soloで接続するユーザはsudoできる管理者ユーザなので、ふつうにgem_packageリソースを使うと管理者のrubyでgemをインストールしちゃう。

仕方ないのでexecuteリソース使ってsuでユーザ指定して実行する事で回避。

rails_version="4.0.0"

execute "install rails" do

  cwd "/home/#{user_name}"

  command "su #{user_name} -l -c 'gem install rails --version \">=#{rails_version}\"'"

end 

 うーん、美しくない。