Composer php 非空PSR-4前缀必须以命名空间分隔符结尾

Composer php 非空PSR-4前缀必须以命名空间分隔符结尾,composer-php,psr-4,Composer Php,Psr 4,我试图用Composer设置PSR-4,但我得到的是非空PSR-4前缀必须以名称空间分隔符结尾。 Mycomposer.json中的Myautoload如下所示: "autoload": { "psr-4": { "Acme\\models" : "app/models" } }, app/models为空 我做错了什么?如何修复此问题?有人发表了评论,但将其删除。他提到我在Acme\\models的末尾缺少\Acme\\models\\将删除该消息并按其应有的

我试图用Composer设置PSR-4,但我得到的是
非空PSR-4前缀必须以名称空间分隔符结尾。

My
composer.json中的My
autoload
如下所示:

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


我做错了什么?如何修复此问题?

有人发表了评论,但将其删除。他提到我在
Acme\\models
的末尾缺少
\
Acme\\models\\
将删除该消息并按其应有的方式工作。

正如其他人所说的
PSR-4需要尾部斜杠

虽然我必须在Windows中将
/
转换为
\\
(在Linux上应该可以正常工作):

“自动加载”:{
“psr-4”:{
“应用\\\”:“src/”
}
},
“自动加载开发”:{
“psr-4”:{
“App\\Tests\\”:“Tests/”
}
},

是,
PSR-4
需要尾部斜杠。(嗯,加倍,因为它需要逃逸)我必须说,这不仅是一个愚蠢的要求,而且还非常清楚地表明,情况确实如此。因此,我出现在这里的原因是一个非常基本的问题。使用此答案后,我还发现
composer validate
还可以很好地指示错误。这会导致在使用存储库类型path、relative、symlinked、,看起来它试图在这个操作之后以某种方式重新创建符号链接,并且已经过时或缓存了composer.json