Php composer在自动加载文件中生成不相关的名称空间

Php composer在自动加载文件中生成不相关的名称空间,php,composer-php,autoload,psr-4,Php,Composer Php,Autoload,Psr 4,我在composer.json中有一个第三方库: some/library:version 名称空间如下所示: ns1\ns2\MainClass 一切正常,直到有一天这个库改变了它的名称空间结构 问题是:当我编写器更新依赖项时。 它(composer)保留旧的psr4名称空间设置(autoload_psr4.php) 我检查了“installed.json”,发现它也加载了不正确的配置。 但在供应商文件夹中,库是正确的。 在composer.lock中,包的“require”“requir

我在composer.json中有一个第三方库:

some/library:version
名称空间如下所示:

ns1\ns2\MainClass
一切正常,直到有一天这个库改变了它的名称空间结构

问题是:当我编写器更新依赖项时。 它(composer)保留旧的psr4名称空间设置(autoload_psr4.php)

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

我试过:

  • 清除所有缓存并重新安装所有内容
  • 清除供应商文件夹和除composer.json之外的所有内容,然后重新安装
  • 切换到库的dev master版本并更改库的composer.json(它是我的库)
谢谢


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

“特别”: require:{php:>=5.6} 更新的: 要求:{php:>=7.0}

附言:这个包裹不需要其他东西


我想这可能是由于我的项目“require”和此包的require更改引起的冲突。

包在自己的composer.json文件中是否有正确的命名空间?是,我检查了vendor文件夹中的文件,甚至是remote repo的dev master版本。它可以复制吗?@Devon我复制了整个上午。你能分享这个包吗?