使用最高 VirtualBox 版本运行 vagrant up

使用最高 VirtualBox 版本运行 vagrant up

我已经从此来源安装了 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 vagrantsudo 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 包。

我建议您:

  1. 按照您在问题中描述的方式清除所有 Vagrant 和 VirtualBox 包。
  2. 按照原来的做法安装最新的 Oracle VirtualBox 包。
  3. 从以下位置安装最新的 Vagrant 包http://downloads.vagrantup.com/,注意它尝试安装或删除哪些附加包,并--no-install-recommends在必要时进行指定。

相关内容