laravel 5 - css file is not defined in asset manifest?

haheute picture haheute · Feb 5, 2015 · Viewed 22.8k times · Source

I get an Error Message with laravel 5, which I don't understand.

Next exception 'ErrorException' with message 'File build/css/all.css not             
defined in asset manifest.

I haven't installed any asset pipeline or something. Just used elixir to compile, minify and version the scss-file to all.css and included it into the master view with <link rel="stylesheet" href="{{ elixir("css/all.css") }}">

What is this 'asset manifest' and how to fix this error?`

Answer

Marcin Nabiałek picture Marcin Nabiałek · Feb 5, 2015

The question is of course what you want to achieve.

If you simply put all.css file into the public/css directory and you want to display this file, you can use:

<link rel="stylesheet" href="{{ asset('css/all.css') }}" />

However if you plan to modify this file and you don't want to have caching issues, you can put this all.css file again into public/css then put into gulpfile.js:

var elixir = require('laravel-elixir');

elixir(function(mix) {
    mix.version('public/css/all.css');
});

Now you'll need to run:

gulp

in your terminal, and now you can use

<link rel="stylesheet" href="{{ elixir('css/all.css') }}" />

as you previously did in your HTML.

It will create public/build/ folder with rev-manifest.json (this file is missing in your case).

I would recommend you to watch Managing assets Laracasts episode to understand it a bit better.