link

Блог Дмитра

Vagrant на Apple Silicon

Колись давно я користувався Vagrant'ом для роботи з першою Мадженто — це було десь у 2016 році і під Віндовсом. Зараз стало цікаво, як щось подібне можна зробити на макбуці з Apple Silicon (M2) процесором. Хоч я і лінива та недалекогладна людина, яка тупо на хост-системі, без докерів і всього такого займається розробкою, але інколи треба розібратись з технологією. Тому я швиденько накидаю приклад, як підняти базову "коробку" з Ubuntu на Apple Silicon під контролем Vagrant.

#Ставимо все необхідне для запуску віртуальної машини

Спочатку - засіб віртуалізації, на чому буде працювати віртуалка. Якщо ви зайдете пошукати, які є готові образи систем від Вагрант, то досить швидко ви побачите, що хоч arm64 образів і багато, але більшість з них зроблені під qemu, vmware, але не під virtualbox. Тому будемо ставити Qemu:

brew install qemu

А тепер вже Вагрант та плагін для підтримки qemu:

brew install --cask vagrant
vagrant plugin install vagrant-qemu

Якщо на цьому етапі ви бачите повідомлення про конфлікт залежностей, доведеться трохи відключити перевірки:

export VAGRANT_DISABLE_STRICT_DEPENDENCY_ENFORCEMENT=1

і після цього знову спробувати встановити плагін. Сподіваюсь, спрацювало :)

Далі створюємо Vagrantfile (прямо так, без розширення та з великої літери), з таким вмістом:

Vagrant.configure("2") do |config|
  config.vm.box = "perk/ubuntu-2204-arm64"
  config.vm.provider "qemu" do |qe|
    qe.ssh_port = "2222" # можете вказати інший порт для ssh
  end
end

І запускаєте "коробку" та підʼєднуєтесь до неї:

vagrant up
vagrant ssh

Вітаю, у вас має запрацювати віртуалка на компʼютері з еплівським процесором. Тепер можна налаштовувати скрипти для автоінсталяції потрібного вам софту. Якщо не забуду, то згодом додам приклад для Magento2