Composer php 如何处理我可以自己在本地维护的过时/未维护的依赖关系?
我有一个Laravel 5.3项目,我正在升级到Laravel 5.4,由于Laravel中的一些更改,有一些依赖项需要更新。每个依赖项(除了一个)都有一个更新的,我可以安全地切换到的 检查github时,我发现其他人也有同样的问题,并且有一个简单的解决方案来解决这个问题。然而,由于未知的原因,依赖性的开发者已经声明他们不再支持它,并且会考虑它被弃用。存在修复问题的请求,但没有人可以接受这些请求 我能做的就是导航到我的供应商文件夹,自己进行更改,但我知道这不是正确的方法,因为更改最终会被覆盖,我们又回到了原点 我如何处理过时/未维护的依赖性问题,这些问题我可以自己解决,也可以在分享解决方案的其他人的帮助下解决? 1) 我可以从供应商那里复制文件,并尝试将第三方文件集成到我的项目中 2) 我可以分叉存储库并进行必要的更改,或者将我的分叉版本添加到PackageGist(感觉不对),或者将我的分叉git作为存储库添加到composer.json文件中Composer php 如何处理我可以自己在本地维护的过时/未维护的依赖关系?,composer-php,dependency-management,Composer Php,Dependency Management,我有一个Laravel 5.3项目,我正在升级到Laravel 5.4,由于Laravel中的一些更改,有一些依赖项需要更新。每个依赖项(除了一个)都有一个更新的,我可以安全地切换到的 检查github时,我发现其他人也有同样的问题,并且有一个简单的解决方案来解决这个问题。然而,由于未知的原因,依赖性的开发者已经声明他们不再支持它,并且会考虑它被弃用。存在修复问题的请求,但没有人可以接受这些请求 我能做的就是导航到我的供应商文件夹,自己进行更改,但我知道这不是正确的方法,因为更改最终会被覆盖,我
"require": {
"someoneelse/project": "^1.0"
}
我愿意接受其他想法,谢谢 我将添加我目前解决问题的方法。如果有人有更好的答案,我会欣然接受 在我的例子中,所讨论的存储库是一个Github存储库,我可以使用fork。然后,我可以克隆存储库并进行任何必要的更改。假设我的composer.json文件中包含以下内容
"require": {
"someoneelse/project": "^1.0"
}
在composer.json文件中,我找到了依赖项的“someone/project”,并将当前版本要求“^1.0”更改为“dev master”。这将从主分支提取最新的提交,并将最低稳定性作为dev
然后,我将我的存储库添加到composer.json。你可以这样做
"repositories": [
{
"type": "git",
"url": "https://github.com/markustenghamn/project.git"
}
],
"require": {
"someoneelse/project": "dev-master"
}
运行composer update现在将从我的分叉存储库获取最新版本。如果有人决定重新开始这个项目的工作,我总是可以把它改回来。该依赖项可能需要forked projects composer.json文件中的其他依赖项,请记住在需要时更新这些依赖项