Provisionamento de VM Vagrant / VirtualBox: rbenv instala com êxito, mas usos subseqüentes no script falham

Estou usando o Vagrant + VirtualBox para configurar uma máquina virtual para o meu aplicativo Rails. Estou trabalhando na limpeza de um.sh script de provisionamento mencionado emVagrantfile igual a:

config.vm.provision "shell", path: "script/provision-script.sh" 

O script de provisionamento faz várias coisas, mas no final ele deve instalar a versão do rbenv Ruby e, em seguida, usar o rbenv para instalar o Ruby 2.2.1. Essa parte do script de provisionamento se parece com isso:

echo "setting up rbenv"
# execute the remaining commands as vagrant user, instead of root
sudo -H -u vagrant bash -c "git clone https://github.com/sstephenson/rbenv.git ~vagrant/.rbenv"
sudo -H -u vagrant bash -c "git clone https://github.com/sstephenson/ruby-build.git ~vagrant/.rbenv/plugins/ruby-build"
sudo -H -u vagrant bash -c "git clone https://github.com/sstephenson/rbenv-gem-rehash.git ~vagrant/.rbenv/plugins/rbenv-gem-rehash"
echo "setting up rbenv environment in bash"
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~vagrant/.bashrc
echo 'eval "$(rbenv init -)"' >> ~vagrant/.bashrc

# start new vagrant shell so rbenv will work
echo "building ruby"
su vagrant
rbenv install 2.2.1 && rbenv global 2.2.1 && rbenv rehash && cd /path/to/my/app && gem install bundler rake && rbenv rehash && bundle && rbenv rehash

Tudo até orbenv install... parte funciona corretamente. A instalação do ruby falha com o seguinte erro:

==> default: setting up rbenv
==> default: Cloning into '/home/vagrant/.rbenv'...
==> default: Cloning into '/home/vagrant/.rbenv/plugins/ruby-build'...
==> default: Cloning into '/home/vagrant/.rbenv/plugins/rbenv-gem-rehash'...
==> default: setting up rbenv environment in bash
==> default: building ruby
==> default: /tmp/vagrant-shell: line 73: rbenv: command not found

O script então termina. Eu posso abrir o vm comvagrant ssh e então execute com sucessorbenv install 2.2.1, então acho que durante o provisionamento um novo shell vagrant não está sendo iniciado. Fiquei com a impressão de que isso deveria acontecer comsu vagrant logo antesrbenv install 2.2.1.

O que posso fazer para garantir que um novo shell seja inicializado durante esse provisionamento e que orbenv comando vai funcionar?

questionAnswers(2)

yourAnswerToTheQuestion