Vagrantがおかしい
しばらくLaravelを使用していなかったのですが、今回久しぶりにLaravelを使おうと思い、Homesteadを入れて
vagrant up
すると動かなかったんでVagrantを直しました。
その際の軌跡をここに記しておきます。
(※基本的にWin10でコマンドプロンプト上での操作です。)
Vagrant修正の軌跡
vagrant up
するとエラー発生
vagrant up
すると妙なエラーが出た
>vagrant up
いつものようにいろいろ表示された後、以下のようなエラーが発生。
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
/sbin/ifdown 'eth1' || true
/sbin/ip addr flush dev 'eth1'
# Remove any previous network modifications from the interfaces file
sed -e '/^#VAGRANT-BEGIN/,$ d' /etc/network/interfaces > /tmp/vagrant-network-interfaces.pre
sed -ne '/^#VAGRANT-END/,$ p' /etc/network/interfaces | tac | sed -e '/^#VAGRANT-END/,$ d' | tac > /tmp/vagrant-network-interfaces.post
cat \
/tmp/vagrant-network-interfaces.pre \
/tmp/vagrant-network-entry \
/tmp/vagrant-network-interfaces.post \
> /etc/network/interfaces
rm -f /tmp/vagrant-network-interfaces.pre
rm -f /tmp/vagrant-network-entry
rm -f /tmp/vagrant-network-interfaces.post
/sbin/ifup 'eth1'
Stdout from the command:
Stderr from the command:
bash: line 5: /sbin/ifdown: No such file or directory
bash: line 21: /sbin/ifup: No such file or directory
なんじゃこりゃ
とりあえずエラー文でググってみると以下のissuesが引っかかった。
https://github.com/hashicorp/vagrant/issues/9213
https://github.com/laravel/homestead/issues/867
This is not a Homestead issue, but a Vagrant issue with 18.04 Ubuntu. Since you're on Windows you should stick to Vagrant version 2.0.3
なんかHomesteadの不具合ではなく18.04 Ubuntuの不具合らしく、Vagrant2.0.3以上で解決されたっぽい。
自分のバージョンを調べたところ
>vagrant --version
Vagrant 1.9.7
1.9.7でした。
Vagrantのバージョンを上げてみる
とりあえずvagrantを最新版へアップデート
https://www.vagrantup.com/
最新版をインストールして再起動をしてから再びvagrant up
>vagrant up
Vagrant failed to initialize at a very early stage:
The plugins failed to initialize correctly. This may be due to manual
modifications made within the Vagrant home directory. Vagrant can
attempt to automatically correct this issue by running:
vagrant plugin repair
If Vagrant was recently updated, this error may be due to incompatible
versions of dependencies. To fix this problem please remove and re-install
all plugins. Vagrant can attempt to do this automatically by running:
vagrant plugin expunge --reinstall
Or you may want to try updating the installed plugins to their latest
versions:
vagrant plugin update
Error message given during initialization: Unable to resolve dependency: user requested 'vagrant-hostsupdater (> 0)'
今度は違うエラーが発生。
google翻訳をかけてみる
Vagrantは初期段階で初期化に失敗しました:
プラグインが正しく初期化できませんでした。これは手動によるものかもしれません
Vagrantのホームディレクトリ内で行われた変更。
次のコマンドを実行してこの問題を自動的に修正しようとします。
vagrant plugin repair
Vagrantが最近更新された場合、このエラーは互換性がない可能性があります
依存関係のバージョン。この問題を解決するには、削除してから再インストールしてください
すべてのプラグイン。以下のコマンドを実行すると、Vagrantは自動的にこれを行うことができます。
vagrant plugin expunge --reinstall
または、インストールされているプラグインを最新のものに更新してみてください
バージョン:
vagrant plugin update
初期化中に指定されたエラーメッセージ:依存関係を解決できません:ユーザーが 'vagrant-hostsupdater(> 0)'をリクエストしました
vagrant plugin expunge --reinstall
を実行
Vagrantはついさっき更新したので、2番目のvagrant plugin expunge --reinstall
を実行
>vagrant plugin expunge --reinstall
This command permanently deletes all currently installed user plugins. It
should only be used when a repair command is unable to properly fix the
system.
Continue? [N]:
Vagrant expunge has been declined. Skipping removal of plugins.
Vagrant will now attempt to reinstall user plugins that were removed.
Installing the 'vagrant-hostsupdater' plugin. This can take a few minutes...
Fetching: vagrant-hostsupdater-1.1.1.160.gem (100%)
Installed the plugin 'vagrant-hostsupdater (1.1.1.160)'!
なんかうまくいった感じがする。
で再びvagrant up
をしてみるとうまく動きました!
よかったよかった
おわり
- そろそろDocker使っていきたい