Vagrantにおいて表題の件について。
■ 環境
- Vagrant 2.0.3
- macOS High Sierra
■ vagrant box update
boxの新しいversionが出ていると気がつくのは大抵`vagrant up`した後なのだが、いざ使おうと言う時に言われてもなぁ…と思うことが多々ある。事前にupdateがあるか確認してから`vagrant up`したいなと思うのだが、`vagrant box update`はVMが起動している時でないと実行できないようで悶々としていた。
■ vagrant box add
`vagrant box add`で先にupdateがあるかを確認できるようである。
$ vagrant box list
bento/centos-6.7 (virtualbox, 2.2.7)
centos/6 (virtualbox, 1707.01)
centos/6 (virtualbox, 1708.01)
centos/6 (virtualbox, 1710.01)
centos/7 (virtualbox, 1707.01)
centos/7 (virtualbox, 1802.01)
:
$
上記の環境で”centos/6″を使いたいのだが、これも新しいboxがあるよな…と思い実行してみる。
$ vagrant box add centos/6
==> box: Loading metadata for box 'centos/6'
box: URL: https://vagrantcloud.com/centos/6
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop
Enter your choice: 3
==> box: Adding box 'centos/6' (v1802.01) for provider: virtualbox
box: Downloading: https://vagrantcloud.com/centos/boxes/6/versions/1802.01/providers/virtualbox.box
box: Download redirected to host: cloud.centos.org
==> box: Successfully added box 'centos/6' (v1802.01) for 'virtualbox'!
$
追加されたのを確認できる。
$ vagrant box list
bento/centos-6.7 (virtualbox, 2.2.7)
centos/6 (virtualbox, 1707.01)
centos/6 (virtualbox, 1708.01)
centos/6 (virtualbox, 1710.01)
centos/6 (virtualbox, 1802.01)
centos/7 (virtualbox, 1707.01)
centos/7 (virtualbox, 1802.01)
:
$
再度`vagrant box add`をやろうとするとエラーとなる。
$ vagrant box add centos/6
==> box: Loading metadata for box 'centos/6'
box: URL: https://vagrantcloud.com/centos/6
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.
1) hyperv
2) libvirt
3) virtualbox
4) vmware_desktop
Enter your choice: 3
==> box: Adding box 'centos/6' (v1802.01) for provider: virtualbox
The box you're attempting to add already exists. Remove it before
adding it again or add it with the `--force` flag.
Name: centos/6
Provider: virtualbox
Version: 1802.01
$
途中までは、またダウンロードを最初からやるのか?と思ったがしっかり弾いてくれた。満足である。
以上。