当使用yaml文件时,意外的错误

我正在使用yaml来试验这个问题

我工作正常使用yaml文件,其中包含我的stream浪文件的configuration,经过多次更改(在stream浪文件中添加迭代) stream浪汉失败意外地显示错误

我试着回到一个旧的提交“正常工作”,即使代码工作,错误仍然存​​在。

我尝试了很多select,如:

  • 从头开始stream浪 (除去.vagrant,盒子和stream浪狗。)
  • 卸载并安装vagrant

我决定删除yaml文件和它的参考文件,并将stream浪者再次工作。 最后

由于任何原因vagrant显示这个错误与尝试转换为数组的ruby有关。

任何想法?


我的设置

  • mac:OS X Yosemite,版本10.10.5
  • 游民:1.8.1
  • ruby:2.0.0p481
  • docker主机:hashicorp / boot2docker

我的stream浪文件

require 'yaml' config = YAML.load_file('develop.yaml') Vagrant.configure("2") do |config| config.vm.define "machine1" do |a| a.vm.provider "docker" do |d| d.image = config["image"] ... more 

我的develop.yaml

 --- image: "registry/user/image:xx" ... more 

 $ vagrant up Bringing machine 'author' up with 'docker' provider... ==> author: Docker host is required. One will be created if necessary... author: Vagrant will now create or start a local VM to act as the Docker author: host. You'll see the output of the `vagrant up` for this VM below. author: dockerhost: Importing base box 'hashicorp/boot2docker'... dockerhost: Matching MAC address for NAT networking... dockerhost: Checking if box 'hashicorp/boot2docker' is up to date... dockerhost: Setting the name of the VM: dockerHost_dockerhost_1461332944380_50015 dockerhost: Clearing any previously set network interfaces... dockerhost: Preparing network interfaces based on configuration... dockerhost: Adapter 1: nat dockerhost: Forwarding ports... dockerhost: 2375 (guest) => 2375 (host) (adapter 1) dockerhost: 4502 (guest) => 4502 (host) (adapter 1) dockerhost: 22 (guest) => 2222 (host) (adapter 1) dockerhost: Running 'pre-boot' VM customizations... dockerhost: Booting VM... dockerhost: Waiting for machine to boot. This may take a few minutes... dockerhost: SSH address: 127.0.0.1:2222 dockerhost: SSH username: docker dockerhost: SSH auth method: password dockerhost: Machine booted and ready! ==> author: Syncing folders to the host VM... dockerhost: Installing rsync to the VM... dockerhost: The machine you're rsyncing folders to is configured to use dockerhost: password-based authentication. Vagrant can't script rsync to automatically dockerhost: enter this password, so you'll likely be prompted for a password dockerhost: shortly. dockerhost: dockerhost: If you don't want to have to do this, please enable automatic dockerhost: key insertion using `config.ssh.insert_key`. dockerhost: Rsyncing folder: /Users/it/workspace/docker-provisioning/ => /var/lib/docker/docker_1461332968_17083 docker@127.0.0.1's password: ==> author: Logging in to Docker server... /opt/vagrant/embedded/gems/gems/vagrant- 1.8.1/plugins/providers/docker/driver.rb:96:in `flatten': can't convert Vagrant::Config::V2::DummyConfig to Array (Vagrant::Config::V2::DummyConfig#to_ary gives Vagrant::Config::V2::DummyConfig) (TypeError) from /opt/vagrant/embedded/gems/gems/vagrant- 1.8.1/plugins/providers/docker/driver.rb:96:in `login' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/login.rb:24:in `block in call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/provider.rb:116:in `block (2 levels) in host_vm_lock' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/environment.rb:561:in `lock' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/provider.rb:115:in `block in host_vm_lock' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/provider.rb:114:in `synchronize' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/provider.rb:114:in `host_vm_lock' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/login.rb:21:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/prepare_nfs_settings.rb:15:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/synced_folder_cleanup.rb:28:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/synced_folders/nfs/action_cleanup.rb:25:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/prepare_nfs_valid_ids.rb:14:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/host_machine_sync_folders.rb:41:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/host_machine_build_dir.rb:19:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/init_state.rb:15:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/message.rb:17:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/destroy_build_image.rb:43:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/handle_box.rb:25:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/plugins/providers/docker/action/host_machine.rb:35:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/config_validate.rb:25:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/handle_box.rb:25:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:95:in `block in finalize_action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builtin/call.rb:53:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/warden.rb:34:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/builder.rb:116:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `block in run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/util/busy.rb:19:in `busy' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/action/runner.rb:66:in `run' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:224:in `action_raw' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:199:in `block in action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/environment.rb:561:in `lock' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:185:in `call' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/machine.rb:185:in `action' from /opt/vagrant/embedded/gems/gems/vagrant-1.8.1/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run' 

Vagrant.configure("2")块内,用相同名称的块参数覆盖你的configvariables。 因此,在块内部, config指代vagrantconfiguration对象而不是分析的YAML哈希。

如果你用另一个名字来引用YAML哈希,例如

 yaml_config = YAML.load_file('develop.yaml') 

您可以明确地访问各种对象。