vagrantを使ってAzureに仮想マシンを建てようとしたらそれ以前のところで躓いたので備忘録として残しておきます。
問題が起こった環境
$ yaourt vagrant 1 community/vagrant 1.9.5-1 [installed] Build and distribute virtualized development environments 2 community/vagrant-substrate 605.0566498-2 [installed] Substrate layer for Vagrant
問題1 : SEGVする
$ vagrant plugin install vagrant-azure --plugin-version '2.0.0.pre8' Installing the 'vagrant-azure --version '2.0.0.pre8'' plugin. This can take a few minutes... /opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/source.rb:192: [BUG] Segmentation fault at 0x00000000000000 ruby 2.2.5p319 (2016-04-26 revision 54774) [x86_64-linux]
この問題はvagrant-substrateのバージョンをダウングレードして599.d7cedfe-2にすると回避できました。
arch linux - Install vagrant plugin on archlinux - Server Fault
ダウングレードにはAURにあるdowngraderを使いました。
$ downgrader vagrant-substrate Downgrade package: vagrant-substrate 1: vagrant-substrate-605.056649/var/cache/pacman/pkg/vagrant-substrate-605.0566498-2-x86_64.pkg.tar.xz (from cache) 2: vagrant-substrate-605.056649/var/cache/pacman/pkg/vagrant-substrate-605.0566498-1-x86_64.pkg.tar.xz (from cache) 3: vagrant-substrate-599.d7cedfhttps://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-599.d7cedfe-2-x86_64.pkg.tar.xz [installed] 4: vagrant-substrate-599.d7cedfhttps://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-599.d7cedfe-1-x86_64.pkg.tar.xz (from ALA) 5: vagrant-substrate-582.d66af9https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-582.d66af96-2-x86_64.pkg.tar.xz (from ALA) 6: vagrant-substrate-582.d66af9/var/cache/pacman/pkg/vagrant-substrate-582.d66af96-1-x86_64.pkg.tar.xz (from cache) 7: vagrant-substrate-575.af2838https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-575.af28386-1-x86_64.pkg.tar.xz (from ALA) 8: vagrant-substrate-569.8bb245https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-569.8bb245a-1-x86_64.pkg.tar.xz (from ALA) 9: vagrant-substrate-554.977218https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-554.9772186-2-x86_64.pkg.tar.xz (from ALA) 10: vagrant-substrate-554.977218https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-554.9772186-1-x86_64.pkg.tar.xz (from ALA) 11: vagrant-substrate-526.6bb2e8https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-526.6bb2e80-1-x86_64.pkg.tar.xz (from ALA) 12: vagrant-substrate-524.64c526https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-524.64c5261-2-x86_64.pkg.tar.xz (from ALA) 13: vagrant-substrate-524.64c526https://archive.archlinux.org/packages/v/vagrant-substrate/vagrant-substrate-524.64c5261-1-x86_64.pkg.tar.xz (from ALA) >> Please enter package number, [q] to quit
downgraderを使うとこんな感じにダウングレードできるバージョンを教えてくれるので、左の番号を入力してダウングレードを行います。
今回は599.d7cedfe-2になって欲しいので、3を入力してエンターを押すとダウングレードが始まります。
問題2: mime-typesがバージョンコンフリクトを起こす
$ vagrant plugin install vagrant-azure Installing the 'vagrant-azure' plugin. This can take a few minutes... /opt/vagrant/embedded/lib/ruby/2.2.0/rubygems/specification.rb:2100:in `check_version_conflict': can't activate mime-types-2.99.3, already activated mime-types-3.1 (Gem::LoadError)
こんなエラーが出ます。
Arch以外の環境の人も同じ問題にハマっているようです。
Plugin fails to install with vagrant 1.9.1 · Issue #150 · Azure/vagrant-azure · GitHub
この問題は、プラグインのバージョンを指定したら回避できました。
vagrant plugin install vagrant-azure --plugin-version '2.0.0.pre8'
おわり
とりあえずこれで問題はすべて回避できたはずです。