Composer php Composer-使用包依赖项的自定义分支

Composer php Composer-使用包依赖项的自定义分支,composer-php,Composer Php,我正在使用包teamtnt/laravel scout tntsearch驱动程序,我希望对包依赖项之一的teamtnt/tntsearch中的一个文件进行非常小的更改 通常我会: 创建包的分支。 将存储库添加到my composer.json中,如下所示: 要求/升级包到正确的版本,通常是dev master,保持原始名称间距,一切正常。 但是,对于我的composer.json文件中没有直接包含的依赖项,这似乎不起作用。即使我不需要更改基础包中的任何内容,我是否需要同时分叉基础包和依赖项包

我正在使用包teamtnt/laravel scout tntsearch驱动程序,我希望对包依赖项之一的teamtnt/tntsearch中的一个文件进行非常小的更改

通常我会:

创建包的分支。 将存储库添加到my composer.json中,如下所示: 要求/升级包到正确的版本,通常是dev master,保持原始名称间距,一切正常。 但是,对于我的composer.json文件中没有直接包含的依赖项,这似乎不起作用。即使我不需要更改基础包中的任何内容,我是否需要同时分叉基础包和依赖项包


我希望有一种简单的方法可以做到这一点,而不必在每一个关卡上下叉。

这其实很简单。不太清楚它最初为什么不起作用!任何人如有疑问,请参见以下说明:

分叉包,即GitHub 将您的用户名中的repo添加到您的项目main composer.json中,如下所示: 在步骤1 youruser/tntsearch中创建的新fork中编辑composer.json文件,并创建/添加到extras键: 这实际上允许您安装dev主版本,但在这种情况下,允许依赖于此的其他软件包请求2.0版本。在这种情况下,您确实需要小心,因为您已经获得了正确的版本,并且任何升级都在以后得到了正确的管理,否则可能会出现故障

更多关于

在dev主版本中,使用原始包命名空间要求/升级包。 名称间距和包版本将保持与fork之前相同,但fork中的编辑将被拉入项目中

  "repositories": [
    {"type": "vcs", "url": "https://github.com/user/packagefork"}
  ],
  "repositories": [
    {"type": "vcs", "url": "https://github.com/youruser/tntsearch"}
  ],
    "extra": {
        "branch-alias": {
            "dev-master": "2.0.x-dev"
        }
    }
composer require teamtnt/tntsearch:dev-master