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
うーん、美しくない。