Laravel: 'cross-env' is not recognized as an internal or external command ... の解消法
LaravelのHomesteadでアセットをコンパイルしたい際、
npm run dev
コマンドを叩きます。
ところが、環境によっては
以下のエラーが出てコンパイルがうまくいかないことがあります。
'cross-env' is not recognized as an internal or external command, operable program or batch file.
このエラーは、cross-envをプロジェクトにではなく、
グローバルでインストールすることで解決するようです。
解決策1: cross-envをグローバルでインストールする
以下のコマンドで、プロジェクトのnode_modulesを削除して、
グローバルでcross-envをインストールします。
rm -r node_modules/ npm install --global cross-env
その後、package.jsonをエディタで開き、"cross-env": "^5.0.1",の記述を削除します。
(^5.0.1の部分は環境によって異なります)
そして、以下のコマンドで依存パッケージを再インストールします。
npm install --no-bin-links
以上の手順を行うことで、
npm run dev
を叩いてコンパイルを行うことができます
解決策2: Laravelのバージョンを上げる
このエラーはWindows10でLaravel5.4を使用している際に起きるようです。
単純にLaravelのバージョンを上げることで解決するという報告もあるようでした。