2016-09-23 3 views
0

Мне пришлось понизить мою бродячую версию до конфликтов с шеф-поваром. Теперь я использую Vagrant 1.8.4, но у меня возникла проблема с функцией обеспечения. Эта функция должна использовать файл bootstrap.sh, который присутствует в том же каталоге, что и мой бродячий файл, для загрузки экземпляра, который я создаю. Вот мой Vagrantfile:Vagrant 1.8.4, оболочка канцелярского запуска из файла

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant.configure(2) do |config| 

    #gives the instances 1 extra network eth interfaces 
    config.vm.network "private_network", type: "dhcp" 

    #creates instances, defines linux image, hostname and a script to run on creation 
    config.vm.define "web1" do |web1| 
     web1.vm.box = "trusty64" 
     web1.vm.hostname = "web1" 
     #this will run the script bootstrap.sh that is in the same directory as the Vagrantfile 
     config.vm.provision :shell, path "bootstrap.sh" 
    end 
end 

При запуске vagrant up я получаю следующее сообщение об ошибке:

There is a syntax error in the following Vagrantfile. The syntax error 
message is reproduced below for convenience: 

/path/to/my/dir/Vagrantfile:14: syntax error, unexpected tSTRING_BEG, expecting keyword_do or '{' or '(' 
     config.vm.provision :shell, path "bootstrap.sh" 
             ^

Что такое правильный синтаксис для использования файла Provisioner в Vagrant 1.8.4?

ответ

1

Там в 2 способа, чтобы написать его в рубин

config.vm.provision "shell", path: "bootstrap.sh" 

или вы могли бы написать

config.vm.provision :shell, :path => "bootstrap.sh" 
Смежные вопросы