我有两台机器(linux,Mac(,需要使用vagrant来管理VM。VirtualBox用于Liux,而parallels用于Mac。 所以我在vagrant配置文件中配置了这两个提供程序,如下所示:
Vagrant.configure('2') do |config|
config.ssh.forward_agent = true
config.ssh.password = 'crunch'
config.vm.box = 'ubuntu/xenial64'
config.vm.provider 'virtualbox' do |vb|
vb.gui = true
vb.memory = '8192'
vb.name = 'ubuntu'
end
config.vm.provider 'parallels' do |vb|
vb.gui = true
vb.memory = '8192'
vb.name = 'ubuntu'
config.vm.box = 'parallels/ubuntu-14.04'
end
在我的Mac系统上,当我运行以下命令但出现错误时:
$ vagrant up --provider parallels
An active machine was found with a different provider. Vagrant
currently allows each machine to be brought up with only a single
provider at a time. A future version will remove this limitation.
Until then, please destroy the existing machine to up with a new
provider.
Machine name: default
Active provider: virtualbox
Requested provider: parallels
我已经安装了所需的提供程序:
$ vagrant plugin list
docker (0.4.0)
vagrant-parallels (1.7.8)
vagrant-share (1.1.9, system)
vagrant-vbguest (0.15.0)
那么为什么vagrant
不选取--provider
参数呢?
这是流浪汉的当前限制
您不能同时使用VirtualBox和VMware备份同一台计算机 融合。这是一个限制,将在将来的版本中删除 的流浪者。
我不确定它是否会被流浪者解决。 但是,您已经使用VirtualBox创建了一次计算机,因此现在应该使用此VM,而不是使用另一台计算机。
解决此问题的一种方法是使用现有 VM 的引用(如 .vagrant.vbox
(备份 .vagrant
文件夹,然后重新运行 vagrant up --provider parallels
以让它创建并行 VM。
如果要切换回 virtualbox VM,可以备份新创建的 .vagrant
文件夹并将.vagrant.vbox
重命名为 .vagrant
简答
删除项目中的.vagrant
文件夹。
rm -r .vagrant
(我留下这个重复的答案,因为我个人懒得阅读上一个,错过了解决方案(