2

в моей компании мы используем Vagrant 1.3, и я не могу обновить его, потому что файлы Vagrant, которые мы используем в нашей среде разработки, привязаны к этой версии и больше не будут работать.

Я думаю об установке новой версии Vagrant в другую папку, но я не знаю, как это сделать и сработает ли это. Мне нужно использовать Laravel Homestead, который совместим только с vagrant 1.6 и выше ...

Есть идеи? Спасибо

(Я использую Max OS X 10.10.1 Yosemite)

1 ответ1

2

У меня тоже есть похожая проблема. Мне нужна 1.4.3 и я не могу обновить до 1.7.4. После многих экспериментов я думаю, что нашел решение. Это включает в себя некрасивый взлом, но для меня это помогло. Я написал суть, описывающую, как я это сделал:

https://gist.github.com/arielpontes/b2d783fde85e1b3237b8

Дайте мне знать, если это работает для версий, которые вы хотите :)

[ОБНОВЛЕНИЕ] Вот копия / вставка из инструкции в суть:

1. Установите VirtualBox 4.3 и Vagrant 1.4.3

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 не сломает ее, но на данный момент это помогает мне.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .