首页 > 解决方案 > composer 在自动加载文件中生成不正确的命名空间

问题描述

我在 composer.json 中有一个 3rd 方库:

some/library:version

命名空间就像:

ns1\ns2\MainClass

一切正常,直到有一天这个库改变了它的命名空间结构。

问题是:当我作曲家更新依赖项时。它(composer)保留旧的 psr4 命名空间设置(autoload_psr4.php)。

我检查了“installed.json”,发现它也加载了不正确的配置。但是在供应商文件夹中,库是正确的。在 composer.lock 包的“require”“require-dev”“autoload”字段的设置没有更新。-- 认为这是断点。

我试过了:

谢谢。


我现在很确定这是由包(远程)设置引起的,我创建了一个新项目并尝试获取最新版本(或 dev-master),但只提取了那个“特殊”(旧)版本。我注意到“特殊”版本和较新版本之间的唯一区别是:

“特殊”:要求:{php:>=5.6} 更新:要求:{php:>=7.0}

PS:该软件包不需要其他任何东西。

我想这可能是我的项目“需要”和这个包的需要更改引起的一些冲突。

标签: phpcomposer-phpautoloadpsr-4

解决方案


推荐阅读