A non-empty PSR-4 prefix must end with a namespace separator

I'm trying to setup PSR-4 with Composer but I'm just getting A non-empty PSR-4 prefix must end with a namespace separator.

My autoload in my composer.json looks like this:

"autoload": {
    "psr-4": {
        "Acme\\models" : "app/models"
    }
},

app/models is empty.

What am I doing wrong? How can I fix this?


Solution 1:

Someone made a comment but removed it. He mentioned I was missing \\ at the end of Acme\\models. Acme\\models\\ will get rid of the message and work as it should.

Solution 2:

As others said PSR-4 requires the trailing slash

Though I had to convert / to \\ in Windows (should work fine on Linux):

    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },