Laravelの環境構築のときなど、2つめのHomestead環境を立ち上げようとした際、
以前のバーチャルマシンが残っている状態だと、以下のエラーが出て上手くいかない事があります。。
複数のHomestead環境を立ち上げるために
エラーの詳細
A VirtualBox machine with the name 'homestead-7' already exists.
初期設定では、バーチャルマシンのマシン名がhomestead-7
になっているっぽく、既に存在する旨のエラーが表示されました。
解決策
その場合、 Homestead.yaml に name: "laravel-1"
を追加するだけでOKです。
※ 他にも同時に起動するためには、 ip や port など設定箇所はいくつかありますが、今回は割愛させていただきます。
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
name: "laravel-1"
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/code
to: /home/vagrant/code
sites:
- map: homestead.test
to: /home/vagrant/code/public
databases:
- homestead
features:
- mariadb: false
- ohmyzsh: false
- webdriver: false
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp
また、起動時に Homestead.yaml を再読み込みするためには、以下のコマンドを実行できます。
$ vagrant up --provision
まとめ
他のサイトで、 scripts/homestead.rb
のデフォルト値をそのまま編集してしまうやや強引な方法も見つかりましたが、、
こちらのrubyのスクリプトを読み解いてみた事で、
Homestead.yaml の設定方法に辿り着くことができました。参考になれば。