2013年6月24日月曜日

vagrant box addコマンドを実行すると、"Failed to untar the box file..."エラーメッセージが表示されOSイメージをダウンロードできない

原因ははっきり分かっていないが、正常にダウンロードできたので、備忘録。

環境は下記。
host:MacOS10.8
ruby:1.9.3p429
vagrant:1.0.7

事象は下記の通り。

  • ホームディレクトリ意外の適当なディレクトリで、vagrant box addコマンドを実行したところ、ダウンロード後のuntarに失敗した旨のメッセージが表示される。
pochi:Vagrant snumano$ vagrant box add base http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
[vagrant] Downloading with Vagrant::Downloaders::HTTP...
[vagrant] Downloading box: http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.4-x86_64-v20130427.box
[vagrant] Extracting box...
[vagrant] Cleaning up downloaded box...
Failed to untar the box file. This is usually because you're
attempting to add a box that isn't a valid box file. Please
double check that the box file is properly packaged.

  •  ~/.vagrant.d以下のtmp, boxesディレクトリには何もファイルなし。
  • こちらには、環境変数HOMEを上書きするのがいやなら、VAGRANT_HOMEを使うようにとのコメントあり。
  • vagrantのソースを見るが、環境変数HOMEをどのように設定しているか分からない。(単なるスキル不足。。。)

とりあえず、ホームディレクトリで再度、vagrant box addを実行してみると、、、
  • ~/.vagrant.d/tmp/に、OSイメージがdownloadされる事を確認できるようになった。で、download成功。
pochi:~ snumano$ vagrant box add base http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box
[vagrant] Downloading with Vagrant::Downloaders::HTTP...
[vagrant] Downloading box: http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box
[vagrant] Extracting box...
[vagrant] Verifying box...
[vagrant] Cleaning up downloaded box...

  •  ~/.vagrant.d/boxes/に各種ファイルが作成された。

pochi:.vagrant.d snumano$ pwd
/Users/snumano/.vagrant.d
pochi:.vagrant.d snumano$ tree
.
├── boxes
│   └── base
│       ├── Vagrantfile
│       ├── box-disk1.vmdk
│       └── box.ovf
├── gems
├── insecure_private_key
└── tmp
4 directories, 4 files

根本原因は不明のままだが、とりあえず先に進む事とする。

(2013.6.24 追記)
gem installでvagrantをinstallした場合、上述の通りver1.0.7だが、こちらのサイトでは最新は1.2.2であった。MacOS用のバイナリをinstallして様子見している。
このエントリーをはてなブックマークに追加