¿Cómo puedo configurar el shell en el comando de ejecución de Capistrano para usar bash en lugar de sh? Estoy tratando de instalar RVM y necesito para ejecutar el comando:¿Cómo configuro el shell para bash para ejecutarlo en Capistrano?
run "bash < <(curl -L http://bit.ly/rvm-install-system-wide)"
como en:
task :install_rvm, :roles => :server do
apps = %w(bison openssl libreadline6 libreadline6-dev zlib1g zlib1g-dev libssl-dev libyaml-dev sqlite3 libsqlite3-0 libxml2-dev libxslt-dev autoconf subversion libcurl4-openssl-dev)
apt.install({:base => apps}, :stable)
run "bash < <(curl -L http://bit.ly/rvm-install-system-wide)"
run "rvm install 1.9.2".sh
run "rvm use [email protected]"
run "gem install awesome_print map_by_method wirble bundler builder pg cheat"
run "gem install -v2.1.2 builder"
# modify .bashrc
end
Pero simplemente parece que no puede conseguir que funcione porque Capistrano está ejecutando:
"sh -c 'bash < <(curl -L http://bit.ly/rvm-install-system-wide)'" on [email protected]
que veo en la gema Capistrano el archivo command.rb tiene algún código como
shell = "#{options[:shell] || "sh"} -c"
pero no está claro para mí cómo pasar options[:shell]
a la tarea
Parece que está ejecutando 'bash' mediante' sh -c 'bash ...' '. ¿Cómo no cumple eso con tus requisitos? (Descargo de responsabilidad: no sé nada sobre Capistrano). –