Vagrant 配置错误 - “必须指定一个框". [英] Vagrant Config Error - "A box must be specified."

查看:33
本文介绍了Vagrant 配置错误 - “必须指定一个框".的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

盒子工作正常.然后我停止了一个(当时唯一一个运行的),现在我无法让它们中的任何一个恢复.

The boxes were working fine. Then I halted one (the only one running at the time) and now I can't get either of them back up.

运行 vagrant up [name] 给了我以下错误,无论我选择哪个,或者我是否将它留在 vagrant up 以便它们都出现:

Running vagrant up [name] gives me the following error, regardless of which I pick or whether I leave it at vagrant up for them both to come up:

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

vm:
* A box must be specified.

运行最新版本的 Vagrant (1.7.4).

Running latest version of Vagrant (1.7.4).

这是我的 Vagrantfile 的全部内容,包括评论(以防万一):

Here is my Vagrantfile in its entirety, comments included (just in case):

# 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 status的结果:

Current machine states:

php5dot3                  poweroff (virtualbox)
php5dot6                  poweroff (virtualbox)

<小时>

运行vagrant global-status的结果:

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 中的单一框.(相关?)

'default' was the singular box I had in my Vagrantfile before I got multi-machines working last week. (Relevant?)

运行vagrant box list的结果:

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

<小时>

任何帮助将不胜感激,谢谢.


Any help would be appreciated, thanks.

推荐答案

在您的机器定义中,您需要使用该机器的变量名称,而不是 config.试试这个:

Inside of your machine definitions, you need to use the variable name of that machine, instead of config. Try this out:

在下面的文件中,我将 config.vm 更改为 php5dot3.vmphp5dot6.vm:

In the file below, I've changed config.vm to either php5dot3.vm or php5dot6.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 只会默认启动主服务器.

I also added autostart:false to the definition of your php5dot6 box, which you can remove if you wish. (It just means that running vagrant up will only start the primary by default.

这篇关于Vagrant 配置错误 - “必须指定一个框".的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆