Использовать провайдера VirtualBox по умолчанию в Fedora 21

12

Прямо сейчас, всякий раз, когда я использую vagrant, он пытается использовать его libvirtв качестве поставщика. Я хочу использовать VirtualBox по умолчанию.

vagrant-libvirt не установлен.

Это мешает, потому что некоторые команды не работают, например vagrant status:

[florian@localhost local]$ vagrant status
The provider 'libvirt' could not be found, but was requested to
back the machine 'foobar'. Please use a provider that exists.
[florian@localhost local]$ vagrant status --provider=virtualbox
An invalid option was specified. The help for this command
is available below.

Usage: vagrant status [name]
    -h, --help                       Print this help
Флориан Маргейн
источник
Я бы с удовольствием добавил следующие теги, но у меня недостаточно репутации для их создания: fedora-21 libvirt
Florian Margaine
Я добавил libvirtdк вопросу. Я не думаю, что имеет смысл иметь тег для каждой конкретной версии Fedora, особенно когда они выпускаются EOL всего через 12 мес после выпуска.
Иордания

Ответы:

25

Согласно документации vagrant , поставщиком по умолчанию должен быть virtualbox, а VAGRANT_DEFAULT_PROVIDERпеременная позволяет вам переопределить его.

Впрочем, VAGRANT_DEFAULT_PROVIDERпусто, так и должно быть virtualbox, верно? Хорошо, если я установлю переменную на virtualbox, она снова заработает. Так что я думаю, что fedora устанавливает переменную по умолчанию где-то еще

Решение:

$ echo "export VAGRANT_DEFAULT_PROVIDER=virtualbox" >> ~/.bashrc
$ source ~/.bashrc
Флориан Маргейн
источник
4

Это просто мой опыт столкновения с этой проблемой.

При выполнении vagrant upя получил это

The provider 'libvirt' could not be found, but was requested to
back the machine 'default'. Please use a provider that exists.

Я попробовал команды, представленные выше

echo "export VAGRANT_DEFAULT_PROVIDER=virtualbox" >> ~/.bashrc
source ~/.bashrc

Затем я выполнил vagrant up

The provider 'virtualbox' that was requested to back the machine
'default' is reporting that it isn't usable on this system. The
reason is shown below:

VirtualBox is complaining that the kernel module is not loaded. Please
run `VBoxManage --version` or open the VirtualBox GUI to see the error
message which should contain instructions on how to fix this error.

Используя VBoxManage --version, это дало мне

The vboxdrv kernel module is not loaded. Either there is no module
available for the current kernel (4.0.4-303.fc22.x86_64) or it failed to
load. Please recompile the kernel module and install it

и побудил меня выполнить, sudo /etc/init.d/vboxdrv setupчто решило мою проблему.

user2555595
источник
2
Просто виртуальная коробка, которая тогда не была правильно настроена, напрямую не связана с vagrant. Но спасибо за информацию, это может быть полезно для будущих пользователей Google!
Флориан Маргэйн
1
@FlorianMargaine, ваш ответ помог, и я хотел бы поделиться своим опытом в решении этой проблемы.
user2555595