У меня тоже есть похожая проблема. Мне нужна 1.4.3 и я не могу обновить до 1.7.4. После многих экспериментов я думаю, что нашел решение. Это включает в себя некрасивый взлом, но для меня это помогло. Я написал суть, описывающую, как я это сделал:
https://gist.github.com/arielpontes/b2d783fde85e1b3237b8
Дайте мне знать, если это работает для версий, которые вы хотите :)
[ОБНОВЛЕНИЕ] Вот копия / вставка из инструкции в суть:
Vagrant 1.4.3 не работает с более новыми версиями VirtualBox (> 4.3). Во время этого эксперимента я несколько раз испортил все мои установки, поэтому я устанавливаю все с нуля (просто перейдите на страницу загрузки, загрузите dmg и запустите установщик pkg в обычном режиме).
2. Взломайте установку Vagrant 1.4.3
$ sudo mv /Applications/Vagrant /Applications/Vagrant\ 1.4.3
$ sudo ln -Fs /Applications/Vagrant\ 1.4.3/bin/vagrant /usr/bin/vagrant
* Это для устаревших версий Vagrant, которые установлены в /Applications/Vagrant
.
3. Установить Vagrant 1.7.4
Vagrant 1.7.4 организован не так, как 1.4.3, и при запуске команды, для которой впервые требуются данные приложения (например, vagrant box list
), он обновляет свою файловую структуру, нарушая установку 1.4.3. Чтобы этого не случилось, запустите:
$ sudo mv ~/.vagrant.d ~/.vagrant143.d
* Вы можете запустить это после установки 1.7.4, просто убедитесь, что вы не запускали команду vagrant раньше.
Теперь вы можете установить Vagrant 1.7.4. Когда вы закончите, вы можете проверить, все ли в порядке:
$ rehash
$ vagrant -v
Vagrant 1.7.4
* Если вы все еще получаете 1.4.3, просто откройте новую оболочку.
4. Взломать установку Vagrant 1.7.4
$ sudo mv /opt/vagrant /opt/vagrant174
$ sudo ln -Fs /opt/vagrant174/bin/vagrant /usr/bin/vagrant
* Это для новых версий Vagrant, которые установлены в /opt/vagrant
.
5. Создание команд оболочки для переключения Vagrant
Добавьте эти строки в ваш ~/.bash_profile (или ~/.zshrc или что вы используете):
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'
Это оно!
Теперь вы можете легко переключаться между версиями, запустив vagrant143
или vagrant174
:
$ vagrant143
$ vagrant -v
Vagrant 1.4.3
$ vagrant174
$ vagrant -v
Vagrant 1.7.4
Обратите внимание, что ваши бланки будут храниться отдельно, поэтому, если вы добавите ящик во время использования версии Vagrant, он не будет виден из другой версии:
$ 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.
Все это куча уродливых хаков, и я не могу обещать, что новая версия Vagrant не сломает ее, но на данный момент это помогает мне.