【问题标题】:Composer force install package ignore dependency versionsComposer 强制安装包忽略依赖版本
【发布时间】:2020-02-02 04:27:10
【问题描述】:

我想将reliese/laravel (https://github.com/reliese/laravel/) 包安装到我的 Laravel 6+ 项目中。 reliese/laravel 需要 "illuminate/support": "~5.1", 但我的版本现在是 6+。我已经查看了reliese/laravel 包,它应该仍然适用于 6+。如何强制作曲家安装这个包?我试过--ignore-platform-reqs,但没用。

【问题讨论】:

    标签: php laravel composer-php


    【解决方案1】:

    来自composer docsrequire

    • --ignore-platform-reqs:忽略phphhvmlib-*ext-*要求并强制安装,即使本地机器不满足这些要求。另请参阅 platform 配置选项。

    因此该标志只忽略特定于机器的要求,而不是包版本不匹配。

    我建议在 GitHub 上 fork 包,像这样手动更改版本要求

    {
        "require": {
            "php": ">=5.6.4",
            "doctrine/dbal": "~2.5",
            "illuminate/support": "~6.0",
            "illuminate/database": "~6.0",
            "illuminate/contracts": "~6.0",
            "illuminate/filesystem": "~6.0",
            "illuminate/console": "~6.0"
        }
    }
    

    并指示 Composer 从您的 composer.json 的 fork 中提取包

    "require": {
        "reliese/laravel": "master",
    },
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/juventus18/laravel"
        }
    ]
    

    【讨论】:

    • 这是我目前正在做的,但我不想维护自己的回购。这不是“答案”,而是“解决方法”。还是谢谢。
    • 您不必维护自去年 9 月以来未更新的软件包,但您可以 sync your fork 与上游 IF 他们已更新它
    • 您也可以提交 PR 以允许 "illuminate/support": "~5.1 || ~6.0",而不是分叉
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-28
    • 2018-02-02
    • 1970-01-01
    • 1970-01-01
    • 2014-05-09
    • 2017-10-31
    • 2018-02-03
    相关资源
    最近更新 更多