Laravel開発環境Homesteadでこのエラーがでたら、Homestead.yamlファイルのdatabasesをチェックしてみてください。
databases名のハイフンのあとに空白がなければ、それが原因の可能性があります。
ハイフンのあとに、空白をいれてみてください。
■エラーメッセージ
A Vagrant environment or target machine is required to run this
command. Runvagrant init
to create a new Vagrant environment. Or,
get an ID of a target machine fromvagrant global-status
to run
this command on. A final option is to change to a directory with a
Vagrantfile and to try again.
■Homestead.yamlファイル修正後
実は、わたしもこのエラーにつまづきました。
自分でdatabases名を登録した後、うっかり空白を消してしまったのです。
ただ、なぜ空白が必要なのか?
それは、Homesteadの設定を記述するyaml(ヤムル)ファイルでは、行頭のハイフンは配列を意味し、ハイフンのあとには、半角スペースが必要になるためです。
「いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック」というPHPプログラミングテクニックの本に、下記のように書かれています。
YAMLの記述方法
配列を表すには、行頭にハイフン「-」を付けます。
ハイフンのあとには半角スペースが必要です。
*引用元:「いまどきのアルゴリズムを使いこなす PHPプログラミング開発テクニック 」99ページ
意外と盲点なエラーですが、空白をいれて、すっきり解決しちゃいましょう♪
【WindowsでLaravel Homesteadを使う! 目次】
- Homestead環境の特徴、Xampp,Mampと比べたメリットや注意点
- Homestead環境の構築方法解説
- HomesteadにPhpMyAdminをインストールする方法
- 既存プロジェクトをクローンして、Homesteadで開発する手順
- Vagrant upができないHomesteadエラー対策を一文字で解決(←今ここ・番外編)