Composer php 非空PSR-4前缀必须以命名空间分隔符结尾
我试图用Composer设置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\\将删除该消息并按其应有的
非空PSR-4前缀必须以名称空间分隔符结尾。
Mycomposer.json中的Myautoload
如下所示:
"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