Vagrantを使い始めて5年以上は経っているんですが、アップグレードしたら初めてエラーが出て使えなくなりました。
Vagrant本体とプラグインのバージョン違いで不整合が起きて、バージョン互換性の確認を求められます。
その復旧作業の備忘録です。
Vagrant | 2.2.7 -> 2.2.14 |
Windows 10 Pro | ビルド 18363 |
vagrantとプラグインの不整合でエラー
まずはエラーの内容です。
Vagrantはかなり早い段階で初期化に失敗しました。
プラグインが正しく初期化できませんでした。これは手動の Vagrantのホームディレクトリ内で行われた変更。Vagrantは以下のことができます。これを実行して、この問題を自動的に修正しようとします。
vagrant plugin repair
Vagrantが最近更新された場合、このエラーは互換性がないために発生する可能性があります。バージョンの依存関係を確認してください。この問題を修正するには、すべてのプラグインに対応しています。Vagrantはこれを実行することで自動的に試みます。
vagrant plugin expunge --reinstall
または、インストールされているプラグインを最新のバージョンにします。
vagrant plugin update
初期化中にエラーメッセージが表示されました。
Unable to resolve dependency: user requested 'vagrant-itamae (= 0.2.1)'
筆者訳
どうやら 'vagrant-itamae' プラグインとアップグレードしたvagarntのバージョンが合わないらしい。
修復作業
エラーメッセージに出ているとおりに実行してみます。まずはプラグインの修復から。
インストールされたVagrantプラグインの自動修復に失敗しました。この問題を修正するには、ユーザーがインストールしたプラグインを全て削除して再インストールしてください。Vagrantは以下のコマンドを実行することで自動的にこれを行うことができます。
vagrant plugin expunge --reinstall
修復中に失敗メッセージを受信しました。
Unable to resolve dependency: user requested 'vagrant-itamae (= 0.2.1)'
筆者訳
ダメでしたね? ただ見えてきました。
全プラグインの再インストール
メッセージのとおり、全プラグインの再インストールを行います。
(修復で上手くいった人は不要です。)
このコマンドは、現在インストールされているすべてのユーザープラグインを永久に削除します。これは、修復コマンドがシステムを適切に修復できない場合にのみ使用してください。
筆者訳
なんで続けるか確認するかと思ったら、結構ヘビーなやり方らしい。
修復が失敗してるんで、やらないとしょうがないでしょう。
'y' を押します。
動作確認
復旧作業が終わったので動作確認をします。
ついでにプラグインも確認。
大丈夫なよう。念の為、プラグインもアップグレードしとこう。
最後の動作確認。