Eu também tenho um problema semelhante. Eu preciso de 1.4.3 e não posso atualizar para 1.7.4. Depois de muitos experimentos, acho que encontrei uma solução. Envolve alguns hacks feios, mas foi o truque para mim. Eu escrevi uma essência descrevendo como eu fiz:
Deixe-me saber se funciona para as versões que você quer:)
[UPDATE] Aqui está uma cópia / colagem das instruções na essência:
1. Instale VirtualBox 4.3 e Vagrant 1.4.3
O Vagrant 1.4.3 não funciona com versões mais recentes do VirtualBox (> 4.3). Durante este experimento eu estraguei todas as minhas instalações várias vezes, então estou instalando tudo do zero (basta ir para a página de download, baixar o dmg e executar o instalador do pkg normalmente).
2. Hack the Vagrant 1.4.3 instalação
$ sudo mv /Applications/Vagrant /Applications/Vagrant\ 1.4.3
$ sudo ln -Fs /Applications/Vagrant\ 1.4.3/bin/vagrant /usr/bin/vagrant
* Isto é para as versões herdadas do Vagrant, que são instaladas em /Applications/Vagrant
.
3. Instalar o Vagrant 1.7.4
O Vagrant 1.7.4 é organizado de maneira diferente do 1.4.3 e, ao executar um comando que exige dados de aplicativos pela primeira vez (por exemplo, vagrant box list
), ele atualizará sua estrutura de arquivos, interrompendo a instalação 1.4.3. Para evitar que isso aconteça, execute:
$ sudo mv ~/.vagrant.d ~/.vagrant143.d
* Você pode rodar isto depois de instalar o 1.7.4, apenas certifique-se de não rodar nenhum comando vagrant antes.
Agora você está seguro para instalar o Vagrant 1.7.4. Quando estiver pronto, você pode verificar se está tudo bem:
$ rehash
$ vagrant -v
Vagrant 1.7.4
* Se você ainda está obtendo 1.4.3, apenas abra um novo shell.
4. Hackear a instalação do Vagrant 1.7.4
$ sudo mv /opt/vagrant /opt/vagrant174
$ sudo ln -Fs /opt/vagrant174/bin/vagrant /usr/bin/vagrant
* Isto é para as novas versões do Vagrant, que são instaladas em /opt/vagrant
.
5. Crie comandos shell para alternar o Vagrant
Adicione estas linhas ao seu ~ / .bash_profile (ou ~ / .zshrc ou o que você usar):
alias vagrant143='sudo ln -Fs /Applications/Vagrant\ 1.4.3/bin/vagrant /usr/bin/vagrant && mv ~/.vagrant.d ~/.vagrant174.d && mv ~/.vagrant143.d ~/.vagrant.d'
alias vagrant174='sudo ln -Fs /opt/vagrant174/bin/vagrant /usr/bin/vagrant && mv ~/.vagrant.d ~/.vagrant143.d && mv ~/.vagrant174.d ~/.vagrant.d'
É isso!
Agora você pode alternar facilmente entre as versões executando vagrant143
ou vagrant174
:
$ vagrant143
$ vagrant -v
Vagrant 1.4.3
$ vagrant174
$ vagrant -v
Vagrant 1.7.4
Note que suas caixas vagabundas serão armazenadas separadamente, então se você adicionar uma caixa enquanto estiver usando uma versão do Vagrant, ela não estará visível na outra versão:
$ vagrant143
$ vagrant box add trusty64
$ vagrant box list
trusty64 (virtualbox)
$ vagrant174
$ vagrant box list
There are no installed boxes! Use 'vagrant box add' to add some.
Estes são todos um monte de hacks feios e eu não posso prometer que uma nova versão do Vagrant não vai quebrá-la, mas no momento ela faz o truque para mim.