web-dev-qa-db-ja.com

Vagrant up-次の設定は存在しないはずです:vm(rethinkdb-vagrant)

https://github.com/RyanAmos/rethinkdb-vagrant を使用してrethinkdbをセットアップしようとしています

C:\rethinkdb-vagrant>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

VirtualBox Provider:
* The following settings shouldn't exist: vm

VagrantFile

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

# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    # Ubuntu 12.04, 64 bit
  config.vm.box     = 'precise64'
  config.vm.box_url = 'http://files.vagrantup.com/precise64.box'

  # Providers
  config.vm.provider :virtualbox do |p|
    p.vm.customize ['modifyvm', :id, '--memory', '512', '--ioapic', 'on']
  end

  # SSH
  config.ssh.username = "vagrant"

  # Port Forwarding
  config.vm.network :forwarded_port, guest: 8080, Host: 8080
  config.vm.network :forwarded_port, guest: 28015, Host: 28015
  config.vm.network :forwarded_port, guest: 29015, Host: 29015

  # Attempt to 'guess' the default network
  config.vm.network :public_network, :bridge => 'en0: Wi-Fi (AirPort)'

  # Provisioning
  config.vm.provision :Shell do |sh|
    sh.inline = <<-EOF
      export DEBIAN_FRONTEND=noninteractive;
      apt-get update --assume-yes;
      apt-get install --assume-yes python-software-properties;
      add-apt-repository --yes ppa:rethinkdb/ppa 2>&1;
      apt-get update --assume-yes;
      apt-get install --assume-yes rethinkdb;

      sed -e 's/somebody/root/g' -e 's/somegroup/root/g' -e 's/# bind=127.0.0.1/bind=all/g' /etc/rethinkdb/default.conf.sample > /etc/rethinkdb/instances.d/default.conf

      rethinkdb create -d /var/lib/rethinkdb/instances.d/default 2>&1;

      service rethinkdb start;
    EOF
  end
end
10
Jason More

問題はこのセクションにあります:

# Providers
config.vm.provider :virtualbox do |p|
  p.vm.customize ['modifyvm', :id, '--memory', '512', '--ioapic', 'on']
end

どこ p.vm.customizep.customize外側のループが示すように、vmはプロバイダーの親であり、customizeはプロバイダーから直接ハングしているためです。

したがって、正しいブロックは次のようになります。

# Providers
config.vm.provider :virtualbox do |p|
  p.customize ['modifyvm', :id, '--memory', '512', '--ioapic', 'on']
end
13
Matt Wrock