Vagrant up - 以下设置不应该存在:vm(rethinkdb-vagrant)

时间:2014-05-06 15:24:15

标签: vagrant vagrantfile

尝试使用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

2 个答案:

答案 0 :(得分:13)

问题在于此部分:

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

其中p.vm.customize应该只是p.customize,因为外部循环显示,vm是提供者的父级,customize直接挂在提供者之外。

所以正确的阻止是:

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

答案 1 :(得分:-1)

如果你跑:

vagrant global-status

您将看到计算机上可能正在运行的所有计算机。

然后拿走那些机器去吧     vagrant suspend [machine id]

您还可以从该GUI手动打开虚拟盒并关闭这些机器,这样可以释放端口。