Fix - 'mix' is not recognized as an internal or external command

avatar

Borislav Hadzhiev

Tue Mar 08 20222 min read

banner

Photo by Cam Adams

Fix - 'mix' is not recognized as an internal or external command #

To solve the error "mix is not recognized as an internal or external command, operable program or batch file", open your terminal in your project's root directory and install the laravel-mix package by running npm install --save-dev laravel-mix@latest.

Open your terminal in your project's root directory (where your package.json file is located) and run the following command:

shell
# 👇️ with NPM npm install --save-dev laravel-mix@latest # ---------------------------------------------- # 👇️ with YARN yarn add laravel-mix@latest --dev

The command will add the laravel-mix package to the development dependencies of your project.

Make sure to restart your development server and your IDE if necessary. Your dev server won't pick up the changes until you stop it and re-run the dev command.
package.json
{ "scripts": { "dev": "mix", "watch": "mix watch" } }

Now you would run mix commands by adding scripts to your package.json file.

If the error is not resolved, try to delete your node_modules and package-lock.json (not package.json) files, re-run npm install and restart your IDE.

shell
# 👇️ delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json # 👇️ clean npm cache npm cache clean --force npm install
Make sure to restart your IDE and dev server if the error still persists. VSCode often glitches and a reboot solves things sometimes.

If you're still getting the "mix is not recognized as an internal or external command" error, open your package.json file and make sure it contains the laravel-mix package in the devDependencies object.

package.json
{ // ... rest "devDependencies": { "laravel-mix": "^6.0.43" }, }

The laravel-mix module should NOT be globally installed or be in your project's dependencies, it should be in the devDependencies object in your package.json file.

You can try to manually add the line and re-run npm install.

shell
npm install

Or install the latest version of the package:

shell
npm install --save-dev laravel-mix@latest

If none of the suggestions helped, try to go through the official step-by-step installation guide for laravel-mix.

Use the search field on my Home Page to filter through my more than 1,000 articles.