如何显示特定目录中使用的Vagrant box版本

Mar*_*ark 12 vagrant

我有多个Vagrant框,并希望看到哪个版本的框在哪个目录中运行.
vagrant box list返回全局框列表:

puphpet/centos65-x64   (virtualbox, 1.2.1)
puphpet/centos65-x64   (virtualbox, 2.0)
Run Code Online (Sandbox Code Playgroud)

vagrant global-status 显示提供者的目录:

id       name    provider   state    directory
--------------------------------------------------
a427238  default virtualbox poweroff /path/to/dir1
fa21751  default virtualbox running  /path/to/dir2
Run Code Online (Sandbox Code Playgroud)

但是,如何在哪个目录中查看哪个Vagrant盒子版本?

Kev*_*ark 9

据我所知,这些数据可以通过Vagrant CLI进行检索,但不会公开.看看~/.vagrant.d/data/machine-index/indexLinux或macOS,我认为它就像C:\Users\whoever\.vagrant.d\data\machine-index在Windows上一样.

您将获得一些未格式化的JSON,其中包含Vagrant所知道的每台机器的详细信息.如果您通过漂亮的打印机/美化器运行JSON,您将获得每台机器中的一个:

"d62342a255436211725abe8fd3c313ea": {
    "local_data_path": "/Users/whoever/mymachine/.vagrant",
    "name": "default",
    "provider": "virtualbox",
    "state": "poweroff",
    "vagrantfile_name": null,
    "vagrantfile_path": "/Users/whoever/mymachine",
    "updated_at": null,
    "extra_data": {
        "box": {
            "name": "ubuntu/xenial64",
            "provider": "virtualbox",
            "version": "20170706.0.0"
        }
    }
},
Run Code Online (Sandbox Code Playgroud)

与您的机器相关的盒子信息就在那里.在ubuntu/xenial64包装盒上virtualbox提供的版本20170706.0.0.