Composer 强制安装包忽略依赖版本

sol*_*dau 5 php laravel composer-php

我想将reliese/laravel( https://github.com/reliese/laravel/ ) 包安装到我的 Laravel 6+ 项目中。reliese/laravel需要"illuminate/support": "~5.1",,但我的版本现在是 6+。我已经查看了该reliese/laravel软件包,它应该仍然可以在 6+ 上使用。我怎样才能强制作曲家安装这个包?我已经尝试过了--ignore-platform-reqs,但没有成功。

Sal*_*301 6

从作曲家文档开始require

  • --ignore-platform-reqs:忽略php、hhvm和lib-*要求ext-*并强制安装,即使本地计算机不满足这些要求。另请参阅平台配置选项。

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

我建议在 GitHub 上分叉包,手动更改版本要求,如下所示

{
    "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"
    }
}
Run Code Online (Sandbox Code Playgroud)

并指示 Composer 从您的叉子中拉出包composer.json

"require": {
    "reliese/laravel": "master",
},
"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/juventus18/laravel"
    }
]
Run Code Online (Sandbox Code Playgroud)

  • 这就是我目前正在做的事情,但我不想维护自己的仓库。这不是一个“答案”,而是一个“解决方法”。不管怎么说,还是要谢谢你。 (6认同)