我不确定如何标题;希望,这是有道理的。我正在学习Vagrant,只是发现了同步文件夹。我正在进行Web开发,并希望在本地计算机上编辑/创建我的文件和文件夹,而不是Ubuntu 14.04(在Vagrant上)。
我将文件存储在/vagrant/
文件夹中,最终出现在两台计算机上。太棒了。我希望在同步文件夹中更改文件或文件夹后,这些文件夹/文件会自动移动到/var/www/
。
例如:
test
的Windows 10上创建文件夹。将index.html
放在test
。/var/www/
内,应该有test
文件夹的副本及其中的所有文件。test
中进行了任何更改,则/var/www/
内的/vagrant/
文件夹会更新。我正在查看ln
命令,但我一直收到错误消息“不允许使用硬链接”。我在Ubuntu上尝试这样:
cd /vagrant
ln test /var/www/
我应该采用不同的方法吗?我怎样才能完成我想做的事情?提前谢谢!
答案 0 :(得分:7)
您可以使用vagrant执行共享文件夹,在Vagrant术语中称为synced folder
如果要同步访客/var/www
,可以在Vagrantfile中添加以下内容
config.vm.synced_folder "www/", "/var/www"
因此,如果您在本地/主机项目文件夹中创建www/
文件夹,那么您将在此www文件夹下保存的所有文件将自动与您的ubuntu计算机的/var/www
文件夹同步
vagrant / virtualbox并没有真正限制你同步文件夹的数量,所以你应该采用它而不是使用一个并使用符号链接。
答案 1 :(得分:2)
同步文件夹的另一种方法是在linux中创建一个软链接。只需在命令行中键入:
rm -rf / var / www
ln -fs / vagrant / var / www
这将删除/ var / www文件夹并创建一个软链接,以便尝试转到/ var / www的人将被自动重定向到您的同步文件夹,在这种情况下是/ vagrant但您可以将其更改为不同的东西。
您还可以为此创建一个shell脚本,这样每次创建虚拟实例时,它都可以自动为您执行此操作,而不必每次都手动执行此操作。
这是一个链接,指示当你流浪时如何让vagrant文件运行shell脚本:
https://www.vagrantup.com/docs/getting-started/provisioning.html