症状
ターミナル(zsh)にてコマンドを入力してlaravelの新規プロジェクトを作成しようと,
composer create-project laravel/laravel=6.* new laravel
上記のコマンドを入力したところno matches foundが返ってきた。
zsh: no matches found: laravel/laravel=6.*
原因
久しぶりにlaravelを触ろうとしたところこんなことになってしもたのでかなり焦ったが特にややこしいことはなく、原因はコマンド内に* ? {} [] ~ などのグロブ表現(ワイルドカード)が含まれていると、zshがファイル名だと解釈してしまうからみたいです。
参照ブログ:Linux【ワイルドカードと正規表現】の違いと変換,展開の動作 ~ ls, grep, findでの具体例の解説~
解決策
~/.zshrc
にsetopt nonomatch
を入力して読み込む。
ここで注意したいのが.zshrc
は隠しファイルなので普通にlsコマンドを叩いても出てこない。
ファイルがない!?となった方はls-a
を叩いてみてください。あります。
あとはvimでもviでも叩いて中身を編集するだけ。
最後に
source ~/.zshrc
このコマンドで読み込めば無事完了です。