Хост: Windows 7
Гость: Windows 8
У меня есть простой Vagrantfile, который запускает сценарий PowerShell для подготовки гостя. Когда я упаковал коробку, я увидел, что файл добавлен, но когда я запускаю vagrant up
, я получаю сообщение об ошибке shell provisioner:* `path` for shell provisioner does not exist on the host system: D:/VirtualMachines/test/provision.ps1
Я проверил, что provision.ps1
существует в ящике для бродяг в каталоге include
.
Так почему же provision.ps1
не копируется в нужное место, когда я запускаю vagrant up
?
Бродячий файл:
VAGRANTFILE_API_VERSION = "2"
modified_name = ENV["COMPUTERNAME"][0..12]
comp_name = modified_name + "TA"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "base"
config.vm.hostname = comp_name
config.vm.communicator = "winrm"
config.vm.network "forwarded_port", host: 3389, guest: 3389, auto_correct: true
config.vm.provision "shell", path: "provision.ps1"
end
path
относительно местоположенияVagrantfile
. Я еще не создавал свои собственные ящики, поэтому может быть отключен, но вы можете попробовать перетащить этот файл прямо в то же место, что иVagrantfile
, чтобы проверить, поднят ли он. - person BrianC   schedule 29.09.2014vagrant box add [my box]
, он упаковывает мой ящик и добавляет сценарий PowerShell в ящик под местоположением:D:\VirtualMachines\vagrant\boxes\TestAgent\0\virtualbox\include
Я предполагаю, что когда я запускаюvagrant up
в другом каталоге (D:\VirtualMachines\test\
), он должен скопировать файл обеспечения в это новое местоположение, чтобы его можно было бег. Я ошибаюсь в этом предположении? - person my_overflowed_stack   schedule 29.09.2014