The Mix manifest does not exist when it does exist

The problem I faced was that the mix()-helper function by default looks for the manifest-json file in /public/manifest-json.js so if you store that file on any other directory level then it will throw that error.

Let's say the manifest-json file is stored in public/app/manifest-json.js, then for a file located in public/app/css/app.css you would use:

<link rel="stylesheet" href="{{ mix('css/app.css', 'app') }}">

The mix()-helper function allows for a second argument, the directory of the manifest file. Just specify it there and it will use the correct manifest file.


I had same exception after deployment laravel project to server. It was working perfectly fine on localhost but after lot of research I found a solution. If you encounter this exception on server then you have to bind your public path to public_html

Just go to under the app/Providers, you will find your AppServiceProvider file and inside boot() method make the binding as below.

   $this->app->bind('path.public', function() {
        return base_path().'/../public_html';
    });

i solved my problem running this command

npm install

and then

npm run production

Thank You.