如何修复供应商文件夹外的 Composer 安装包

How to fix installation of a package by Composer outside vendor folder

我正在将 SilverStripe 3 网站迁移到 SilverStripe 4,在此过程中,我求助于 silverstripe-ldap module. It comes with a dependency to symbiote/silverstripe-queuedjobs

我遇到的问题是 symbiote/silverstripe-queuedjobs 的文件由 Composer 安装在与 vendor 同一级别的 queuedjobs 文件夹中,而不是在 vendor 中] 像所有其他依赖项一样。

是否可以强制将其安装在文件夹 vendor 中?

所有 SilverStripe 3 模块都安装到根项目文件夹中,而不是 vendor 文件夹中。

在 SilverStripe 4 中,这仍然受支持,但默认情况下大多数模块(包括所有核心和支持的模块)安装到 vendor 文件夹中。

如果您的根文件夹中仍有一个,您可能正在安装该模块的不兼容 SilverStripe 3 版本。您应该检查 the module on Packagist 以查找哪个版本与 SilverStripe 4 兼容(使用 ^4.5)并更新您的 Composer 约束。