【问题标题】:How to fix installation of a package by Composer outside vendor folder如何修复 Composer 在供应商文件夹之外安装软件包
【发布时间】:2020-03-28 12:56:55
【问题描述】:

我正在将 SilverStripe 3 网站迁移到 SilverStripe 4,在此过程中,我使用了 silverstripe-ldap 模块。它依赖于symbiote/silverstripe-queuedjobs

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

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

【问题讨论】:

    标签: composer-php silverstripe


    【解决方案1】:

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

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

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

    【讨论】:

    • 我使用的是"silverstripe/recipe-cms": "^4.5.1",但我使用的是与SS 4兼容的"silverstripe/ldap": "1.0",但仍然导致了这个问题。一旦我添加了插入符号并使用了"^1.0",第三方依赖的文件夹就被移动到了vendor文件夹。
    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 2019-12-25
    • 2019-03-19
    • 2017-02-22
    • 2020-03-22
    • 2018-02-13
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多