我正在使用这个无聊的盒子来测试我正在处理的python脚本
config.vm.box = "mcandre/vagrant-ubuntu-python3"
主机中的项目根目录为c:/ pythontest Vagrantfile在此根目录中
c:/pythontest/Vagrantfile
我将python脚本test.py放置在c:/ pythontest中,默认情况下与来宾/ vagrant共享
c:/pythontest/test.py
对于我在主机的IDE中所做的更改未反映在guest虚拟机中。
我遵循的步骤 我在脚本中进行更改 保存脚本 使用cat检查来宾机中终端的更改
但是,如果我重新加载流浪者盒子(vagrant reload),我可以看到更改。
我尝试了以下选项
config.vm.synced_folder "./", "/vagrant"
`
config.vm.synced_folder "c:/pythontest", "/vagrant"
当我打开盒子时(流浪汉)我会在输出中得到这个
==> default: Rsyncing folder: /cygdrive/c/pythontest/ => /vagrant
这是所有输出
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Checking if box 'mcandre/vagrant-ubuntu-python3' is up to date...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
==> default: Rsyncing folder: /cygdrive/c/datascience/ => /vagrant
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.
能否请您帮助我自动同步从主机进行的这些更改?
谢谢
答案 0 :(得分:0)
您正在使用vagrant rsync共享文件夹类型,如文档中所述
rsync同步文件夹从计算机执行一次单向同步 运行到由Vagrant启动的计算机上。
rsync和rsync-auto命令可用于强制重新同步并 文件系统中发生更改时自动重新同步。不带 运行这些命令,Vagrant仅在Vagrant上同步文件夹 或无聊的重新加载。
如果进行一次更改,则可以运行vagrant rsync
命令以确保您的更改在VM中是同步的。
如果您经常在主机上进行更改,则应运行vagrant rsync-auto
,它将检测到主机上的更改并在VM上进行同步。