Vagrant 1.8.4,无法从文件 运行 provisioner shell
Vagrant 1.8.4, cant run provisioner shell from a file
我不得不降级我的 vagrant 版本以与厨师发生冲突。现在我正在使用 Vagrant 1.8.4,但是我遇到了 provisioner 功能的问题。此函数应使用与我的 vagrant 文件位于同一目录中的 bootstrap.sh
文件到 bootstrap 我正在创建的实例。这是我的 Vagrantfile:
# -*- 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"
^
在 Vagrant 1.8.4 中使用配置文件的正确语法是什么?
有2种写法ruby
config.vm.provision "shell", path: "bootstrap.sh"
或者你可以写
config.vm.provision :shell, :path => "bootstrap.sh"
我不得不降级我的 vagrant 版本以与厨师发生冲突。现在我正在使用 Vagrant 1.8.4,但是我遇到了 provisioner 功能的问题。此函数应使用与我的 vagrant 文件位于同一目录中的 bootstrap.sh
文件到 bootstrap 我正在创建的实例。这是我的 Vagrantfile:
# -*- 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"
^
在 Vagrant 1.8.4 中使用配置文件的正确语法是什么?
有2种写法ruby
config.vm.provision "shell", path: "bootstrap.sh"
或者你可以写
config.vm.provision :shell, :path => "bootstrap.sh"