エラー内容
$ otto dev
==> Creating development environment layers...
Otto uses layers to speed up building development environments.
Each layer only needs to be built once. We've detected that the
layers below aren't created yet. These will be built this time.
Future development envirionments will use the cached versions
to be much, much faster.
==> Creating layer: consul
Error building dev environment: Error building dev environment layers: Error executing Vagrant: exit status 1
The error messages from Vagrant are usually very informative.
Please read it carefully and fix any issues it mentions. If
the message isn't clear, please report this to the Otto project.
解決まで
vagrantコマンドを実行してみると、以下のようにエラーになった
$ vagrant
Vagrant experienced a version conflict with some installed plugins!
This usually happens if you recently upgraded Vagrant. As part of the
upgrade process, some existing plugins are no longer compatible with
this version of Vagrant. The recommended way to fix this is to remove
your existing plugins and reinstall them one-by-one. To remove all
plugins:
rm -r ~/.vagrant.d/plugins.json ~/.vagrant.d/gems
Note if you have an alternate VAGRANT_HOME environmental variable
set, the folders above will be in that directory rather than your
user's home directory.
The error message is shown below:
Bundler could not find compatible versions for gem "timers":
In Gemfile:
vagrant-chef-zero (>= 0) ruby depends on
ridley (>= 1.0.0) ruby depends on
celluloid (~> 0.15) ruby depends on
timers (~> 4.0.0) ruby
Could not find gem 'timers (~> 4.0.0) ruby', which is required by gem 'celluloid (~> 0.15) ruby', in any of the sources.
エラーの指示に従って、vagrantのディレクトリを削除する。
$ rm -r ~/.vagrant.d/plugins.json ~/.vagrant.d/gems
すると、vagrantが成功するようになった。
$ vagrant
Usage: vagrant [options] <command> [<args>]
-v, --version Print the version and exit.
-h, --help Print this help.
Common commands:
box manages boxes: installation, removal, etc.
connect connect to a remotely shared Vagrant environment
destroy stops and deletes all traces of the vagrant machine
global-status outputs status Vagrant environments for this user
...
最後にotto dev
の実行
$ otto dev
==> Creating development environment layers...
Otto uses layers to speed up building development environments.
Each layer only needs to be built once. We've detected that the
layers below aren't created yet. These will be built this time.
Future development envirionments will use the cached versions
to be much, much faster.
==> Creating layer: consul
...
OK!
その他
ottoコマンドのログを表示する方法
OTTO_LOG=1 otto dev