VAGRANT 共享文件夹不挂载 - Windows 7 - Vagrant 1.7.4 - Ubuntu 12.04 precise64 - VirtualBox 5.0.10 with Guest Additions

VAGRANT SHARED FOLDERS DO NOT MOUNT - Windows 7 - Vagrant 1.7.4 - Ubuntu 12.04 precise64 - VirtualBox 5.0.10 with Guest Additions

我正在学习 gettingstartedwithdjango.com 的旧教程。

这个系列已经很老了,我是 Django 的新手,这就是我首先访问该网站的原因。它成为我对 Vagrant 的第一次介绍。因为这个系列是旧的,现在有 Django、Vagrant 等的新版本,我发现仅仅通过第一个教程是相当困难的。这主要只是 Django v1.4 和当前版本 1.9 之间的差距,这就是我 运行ning,包括 settings.py 中的一些语法差异以及文本勘误表和视频之间的一些差异我必须整理一下。如果您对所有这一切都是全新的(我也是),那么这是一个非常详细的练习,所以它非常具有挑战性,经过大约 12 小时的扎实努力,我能够让一切都按照描述的那样工作,这让我很激动在视频中,但使用所有新版本的软件。一旦我完成所有设置并开始工作,我就在晚上停止了我的 Vagrant VM,当我第二天早上将其重新启动(vagrant up)时,我发现该 VM 将不再挂载其共享文件夹,本质上呈现 Vagrant VM 对我没用,因为我无法从 VM 中 运行 驻留在主机上的代码(我 运行ning Windows 7)(这是通过VirtualBox 共享文件夹功能)。

不知道出了什么问题,这促使我完全重新安装我的 Vagrant VM。通过大约一个小时的努力,我能够成功地重新部署东西,首先回溯我为成功完成第一个教程而采取的步骤,以便回到我开始的相同点(在我做之前的流浪者停止)。重新安装 Vagrant VM 时,我注意到我的 VirtualBox Guest Additions (4.2.0) 与我安装的 VirtualBox 版本 (5.0.10) 不匹配的消息,我记得第一次看到它但被忽略了,因为它也说这不是'通常这不是问题,应该可以工作(如果不是运气不好,我根本就没有运气)。由于对我来说它不起作用,这让我陷入了来自各种网站的整个兔子洞,包括 SO,最终让我更新了我的 Vagrant VM,downloading/mounting/building/installing 新版本的 VirtualBox Guest Additions,并重新加载我的Vagrant VM 只会在同一条船上结束。共享文件夹仍然无法使用!

具体来说,这是我根据许多网站的信息尝试的或多或少的方法:

cd /home/vagrant
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install dkms build-essential linux-headers-generic
sudo apt-get install linux-headers-3.2.0-23-generic
# mounted VBoxGuestAdditions_5.0.10.iso to Vagrant VM
cd /media/cdrom
sudo sh ./VBoxLinuxAdditions.run
sudo reboot
sudo /etc/init.d/vboxadd setup
sudo reload
c:\VAGRANT\vagrant plugin install vagrant-vbguest
c:\VAGRANT\vagrant reload

我完全相信这会解决问题,但事实并非如此。

然后我发现了这个gem:

http://ddelizia.blogspot.com/2011/02/how-to-share-folder-on-virtual-box-with.html

这显示了如何从 Vagrant VM 中将共享文件夹装载回您的 Windows 7 主机。具体来说,这是我发现一切正常时所做的事情:

cd /vagrant
ls -la
<this yielded nothing>
sudo mount.vboxsf vagrant /vagrant # see your VirtualBox Shared Folders settings
cd ~ # /home/vagrant
cd - # /vagrant
ls -la
# this yielded the expected folders from my Win7 host

在上面的 mount.vboxsf 命令中,第一个 vagrant(没有 /)来自我的 VirtualBox 共享文件夹设置中的名称列。这本质上是一个别名,用于指代 Win7 主机上的实际路径,在我的例子中是:C:/VAGRANT。该命令中的第二个 vagrant(带有 /)是 Vagrant VM (linux) 上的 /vagrant 文件夹。

鉴于我今天大部分时间都在搞这个,而且我认为有很多人会 运行 解决相同或相关的问题,我想我会尽力帮助并拯救你所有的时间。祝你好运。