我已经从此来源安装了 VirtualBox 版本 4.1.18_Ubuntu:
deb http://download.virtualbox.org/virtualbox/debian quantal contrib
显然上面的源用于安装 VirtualBox 4.2,它在我安装 vagrant 时被自动删除。因此,我假设当前安装的版本来自默认的 Ubuntu 源。
当我安装 vagrant(来自默认的 Ubuntu 12.10 源)并尝试运行我的盒子时,vagrant up
我收到以下错误消息:
Vagrant has detected that you have a version of VirtualBox installed
that is not supported. Please install one of the supported versions
listed below to use Vagrant:
4.0, 4.1
有没有办法用我的 VirtualBox 运行 vagrant?安装最新的 vagrant 版本也可能是一种解决方案(当前版本:1.0.3)。
我尝试过:sudo apt-get purge virtualbox* virtualbox-4.2 vagrant
和sudo apt-get install vagrant
,但没有帮助。
答案1
为了解决同样的问题,我清除了 Ubuntu virtualbox 软件包,并在 /etc/apt/sources.list 中添加了一些行
#Virtualbox
deb http://download.virtualbox.org/virtualbox/debian quantal contrib
更新 apt 列表:
sudo apt-get update
如果你的内核没有安装,请安装它们(因为 virtualbox 安装需要它们):
sudo apt-get install linux-headers-$(uname -r)
安装虚拟机:
sudo apt-get install virtualbox-4.2
下载并安装 vagrant 的最新 .deb,一切正常。
答案2
这里有几个问题让人感到困惑:
- Ubuntu 存储库中的 VirtualBox 软件包与 Oracle 存储库中的软件包名称不同。
- 当您安装软件包时,除非您指定该
--no-install-recommends
选项,否则 Ubuntu 会自动安装其他推荐的软件包。 - 有一个漏洞影响 Vagrant 包,这意味着它在安装时会用 Ubuntu 包替换 Oracle VirtualBox 包。
我建议您:
- 按照您在问题中描述的方式清除所有 Vagrant 和 VirtualBox 包。
- 按照原来的做法安装最新的 Oracle VirtualBox 包。
- 从以下位置安装最新的 Vagrant 包http://downloads.vagrantup.com/,注意它尝试安装或删除哪些附加包,并
--no-install-recommends
在必要时进行指定。