私は Vagrant n00b で、knife
chef-solo を使用して非常にシンプルな CentOS LAMP ボックスをセットアップしているため、Vagrant と Chef のコマンドをうまく連携させるのに問題があります。
この問題の簡単な概要は次のとおりです。
- CentOS 6.3 と vagrantbox.es の Chef ベース ボックスを使用して、基本的な Vagrantfile を作成しました。この gistで基本を確認できます。
knife cookbook site install nameofcookbook
に配置する構成を使用して、すべてのクックブックをダウンロードしました./chef/cookbooks
。- この要点
vagrant up
で基本を確認できます。 - 私はApache、PHPなどをテストしました。すべて問題ありません。
- VM が実行されている状態で、knife を実行して別のパッケージ (この場合は i3) を追加します。
- これ以降、Vagrant は VM でさまざまなタスクを実行できなくなります。
実行する
vagrant provision
と、このようなエラーが発生しますThe chef binary (either `chef-solo` or `chef-client`) was not found on the VM and is required for chef provisioning. Please verify that chef is installed and that the binary is available on the PATH.
実行する
vagrant halt
と、ssh コマンドがゼロ以外のエラー コードで終了したというエラーが表示されます。- ただし、実行することはでき
vagrant ssh
、(a)chef-solo が実際にボックスに存在し、(b)ボックス内のコマンドラインからシャットダウンできることを確認します。 - 実行する
vagrant up
と、次のようなエラーが表示 されます。The following SSH command responded with a non-zero exit status. Vagrant assumes that this means the command failed! mkdir -p /vagrant</li>
私は何を間違っていますか?
Vagrant を掘り下げることにとても興奮しています。