いつ頃からか、 vagrant up 時や vagrant box outdated で 404 エラーが出るようになっていたので、 対処しました。

エラー内容

以下のようなエラーが出ていました。

Checking if box 'bento/ubuntu-16.04' is up to date...
There was a problem while downloading the metadata for your box
to check for updates. This is not an error, since it is usually due
to temporary network problems. This is just a warning. The problem
encountered was:

The requested URL returned error: 404 Not Found

If you want to check for box updates, verify your network connection
is valid and try again.

metadata_url の書き換え

vagrant box update - Fails with 404 Not Found error にあるように metadata_url の atlas.hashicorp.com を vagrantcloud.com に書き換えれば良いようです。

metadata_url には https://atlas.hashicorp.com/bento/ubuntu-16.04?access_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX のように書かれていて、末尾に改行はついていませんでした。

改行がついているとエラーになるようなので、エディタではなく echo -n で直接書き込みました。

$ echo -n 'https://vagrantcloud.com/bento/ubuntu-16.04' > ~/.vagrant.d/boxes/bento-VAGRANTSLASH-ubuntu-16.04/metadata_url

vagrant box update など

書き換えたことによって vagrant box outdatedvagrant box update がエラーなく実行できるようになりました。

$ vagrant box outdated
Checking if box 'bento/ubuntu-16.04' is up to date...
A newer version of the box 'bento/ubuntu-16.04' for provider 'virtualbox' is
available! You currently have version '201801.02.0'. The latest is version
'201802.02.0'. Run `vagrant box update` to update.

vagrant での変更箇所

vagrant 自体の参照先は Convert atlas references to vagrant cloud · hashicorp/vagrant@5f955c3 で変更されているようでした。

(おまけ) vagrant share の話

差分をみていて知ったのですが、 Vagrant Share も今は ngrok を使うようになっているようで、 brew cask install ngrok などで ngrok をインストールしておく必要があるようです。

Disqus Comments

Kazuhiro NISHIYAMA

Ruby のコミッターとかやってます。 フルスタックエンジニア(って何?)かもしれません。 About znzに主なアカウントをまとめました。

znz znz


Published