Mac M.2に使われているOSアーキテクチャは、Windowsと異なりARM64であるため、VagrantのBoxファイルは、ARM64に対応したものを使用する必要がある。
Discover Vagrant Boxes( https://portal.cloud.hashicorp.com/vagrant/discover )からARM64に対応したBoxファイルを調べると、vmware_desktop
、parallels
が大半であった。そのほか、hyperv
、qemu
もARM64に対応したものがあるが、動作検証を行った結果、いろいろと制限があり、開発に使えるものではなかった。vagrantでは、hyperv
、qemu
を使用しない方が良いだろう。
今回、Apple MacOS(M1,M2)でVagrant環境を用意する必要があったため、メモとして残す。
必要なソフトウェア
- Vagrant
http://www.vagrantup.com/downloads.html - VirtualBox
Virtualboxは、未だMac.M2などのCPUに対応していないため、BETA版を利用する必要がある。( https://www.virtualbox.org/wiki/Testbuilds )
※本環境を構築した段階では、対応していなかったが、最新バージョンでは対応されているかもしれない。 - Parallels Desktop Pro Edition for Mac (有償)
- 注意)Standardでは動作しない
- https://www.parallels.com/jp/products/desktop/pro/
- 無償版をダウンロードして、ProのサブスクリプションをアクティベートするとProになる。
- 動作確認は、Parallels Desktop 19で実施している。
必要なvagrantプラグイン
vagrant plugin install vagrant-parallels
Vagrantfileの記述(サンプル)
Vagrant.configure('2') do |config|
# Setup default vm
config.vm.define 'default', primary: true do |node|
node.vm.box = 'bento/ubuntu-22.04-arm64' #ARM64に対応したboxを指定
node.vm.hostname = 'vagrant-arm64'
node.vm.network :forwarded_port, guest: 22, host: 2285, id: 'ssh'
node.vm.network :private_network, ip: '10.0.0.85'
node.vm.provider :parallels do |vb| # providerをparallelsにする
vb.memory = 4096
end
node.vm.synced_folder './environment', '/home/vagrant/environment'
node.vm.synced_folder './develop', '/home/vagrant/source'
end
end