2015-09-07 18 views
7

箱はうまく機能していました。それから私は1つ(その時に走っていた唯一のもの)を停止しました、そして今、私はそれらのいずれかをバックアップすることができません。バグの設定エラー - 「ボックスを指定する必要があります。


vagrant up [name]を実行することに関係なく、私は次のエラーを与えるの私が選ぶか、私が来るためにそれらの両方のためにvagrant upでそれを残すかどうか:

There are errors in the configuration of this machine. Please fix 
the following errors and try again: 

vm: 
* A box must be specified. 

はベイグラントの最新バージョン(1.7.4を実行しています)。ここで

は、その全体が私のVagrantfileあり、コメントは(念のため)が含ま:vagrant statusを実行しているの

# Search for boxes here: https://atlas.hashicorp.com/boxes/search 
# Refer to commands_vagrant.txt for command reference 

Vagrant.configure("2") do |config| 

    # Globally defined variables 
    config.vm.synced_folder "./", "/var/www/public" 

    # CentOS 6.5, Apache 2.2.15, MySQL 5.5.36 (-u root), PHP 5.3.28 
    # Note: If PHP session keys don't work, set permissions to 777 (or other more restrictive, but this is guaranteed to work) on /var/lib/php/session 
    config.vm.define "php5dot3", primary: true do |php5dot3| 
     config.vm.box = "smallhadroncollider/centos-6.5-lamp" 
     config.vm.network :forwarded_port, guest: 80, host: 4567 
    end 

    # Ubuntu 14.04 (SSH pw: vagrant), Apache 2.4.12, MySQL 5.5.43 (-u root -p root), PHP 5.6.10 
    config.vm.define "php5dot6" do |php5dot6| 
     config.vm.box = "scotch/box" 
     config.vm.network :forwarded_port, guest: 80, host: 4568 
    end 

end 

結果:vagrant global-statusを実行しているの

Current machine states: 

php5dot3     poweroff (virtualbox) 
php5dot6     poweroff (virtualbox) 

結果:

id  name  provider state directory       
-------------------------------------------------------------------------- 
e1f3c85 default virtualbox poweroff /home/sam/Web      
c588d51 php5dot6 virtualbox poweroff /home/sam/Web      
4e71c50 php5dot3 virtualbox poweroff /home/sam/Web  

先週マルチマシンを稼働させる前に、「default」が私のVagrantfileで持っていた単一のボックスでした。 vagrant box listを実行しているの(?関連)


結果:

scotch/box       (virtualbox, 2.0) 
smallhadroncollider/centos-6.5-lamp (virtualbox, 1.0.0) 

すべてのヘルプは、おかげでいただければ幸いです。

+0

https://github.com/mitchellh/vagrant/issues/6245 – generalconsensus

+0

あなたは 'bash init.sh'を実行しましたか?前に? – RidRoid

+0

いいえ、バグの関係でbashスクリプトを実行しないでください。 – SamHH

答えて

14

マシン定義内には、configではなく、そのマシンの変数名を使用する必要があります。これを試してみてください:

を以下のファイルでは、私はphp5dot3.vmまたはphp5dot6.vmのいずれかにconfig.vmを変更した:あなたが望むなら

Vagrant.configure("2") do |config| 

    # Globally defined variables 
    config.vm.synced_folder "./", "/var/www/public" 

    # CentOS 6.5, Apache 2.2.15, MySQL 5.5.36 (-u root), PHP 5.3.28 
    # Note: If PHP session keys don't work, set permissions to 777 (or other more restrictive, but this is guaranteed to work) on /var/lib/php/session 
    config.vm.define "php5dot3", primary: true do |php5dot3| 
     php5dot3.vm.box = "smallhadroncollider/centos-6.5-lamp" 
     php5dot3.vm.network :forwarded_port, guest: 80, host: 4567 
    end 

    # Ubuntu 14.04 (SSH pw: vagrant), Apache 2.4.12, MySQL 5.5.43 (-u root -p root), PHP 5.6.10 
    config.vm.define "php5dot6", autostart:false do |php5dot6| 
     php5dot6.vm.box = "scotch/box" 
     php5dot6.vm.network :forwarded_port, guest: 80, host: 4568 
    end 

end 

私はまた、あなたが削除することができ、あなたのphp5dot6ボックスの定義にautostart:falseを追加しました。 (単にvagrant upを実行すると、デフォルトでプライマリが起動されることになります。

+0

これはヴァーグラントの長年の問題を解決したようですが、どうもありがとうございます! – SamHH

+1

問題が解決されるまでに4ヶ月もかからなかったことを祈っていますか? –

+1

明るい側?問題は解決しましたか?フリップ面?...どうして私はこれを理解しませんでしたか?:/ –