如何处理我可以自己在本地维护的 outdated/unmaintained 依赖项?
How do I deal with outdated/unmaintained dependencies that I could maintain locally on my own?
我有一个 Laravel 5.3 项目,我正在升级到 Laravel 5.4 并且由于 Laravel 中的一些变化,有一些依赖项需要更新。除了一个有更新的依赖项之外,每个依赖项我都可以安全地切换到。
检查 github 我发现其他人也有同样的问题,并且有一个简单的解决方案来解决这个问题。但是,由于未知原因,依赖项的开发人员已声明他们将不再支持它并认为它已被弃用。有解决此问题的拉取请求,但没有人可以接受这些请求。
我能做的是导航到我的供应商文件夹并自己进行更改,但我知道这不是做事的正确方法,因为更改最终会被覆盖,我们回到原点。
我如何处理 outdated/unmaintained 依赖关系的问题,我可以自己解决问题,或者在分享解决方案的其他人的帮助下解决?
1) 我可以从供应商那里复制文件,然后尝试将第三方文件集成到我的项目中。
2) 我可以分叉存储库并进行所需的更改,然后将我的分叉版本添加到 packagist(感觉不对)或将我的分叉 git 作为存储库添加到 composer.json 文件。
我愿意接受其他想法,谢谢!
我会添加我现在解决的方法。如果有人有更好的答案,我会很乐意接受。
在我的例子中,有问题的存储库是一个 Github 我可以分叉的存储库。然后我可以克隆存储库并进行任何需要的更改。假设以下是我的 composer.json 文件中的内容。
"require": {
"someoneelse/project": "^1.0"
}
在我的 composer.json 文件中,我找到了依赖项 "someoneelse/project",并将当前版本要求“^1.0”更改为 "dev-master"。这将从 master 分支中提取最新的提交并将最小稳定性作为 dev.
然后我将我的存储库添加到 composer.json。你可以这样做
"repositories": [
{
"type": "git",
"url": "https://github.com/markustenghamn/project.git"
}
],
"require": {
"someoneelse/project": "dev-master"
}
运行 composer update 现在将从我的分支存储库中获取最新版本。如果有人决定再次开始这个项目,我总是可以改回来。该依赖项可能需要分叉项目 composer.json 文件中的其他依赖项,请记住在需要时更新这些依赖项。
我有一个 Laravel 5.3 项目,我正在升级到 Laravel 5.4 并且由于 Laravel 中的一些变化,有一些依赖项需要更新。除了一个有更新的依赖项之外,每个依赖项我都可以安全地切换到。
检查 github 我发现其他人也有同样的问题,并且有一个简单的解决方案来解决这个问题。但是,由于未知原因,依赖项的开发人员已声明他们将不再支持它并认为它已被弃用。有解决此问题的拉取请求,但没有人可以接受这些请求。
我能做的是导航到我的供应商文件夹并自己进行更改,但我知道这不是做事的正确方法,因为更改最终会被覆盖,我们回到原点。
我如何处理 outdated/unmaintained 依赖关系的问题,我可以自己解决问题,或者在分享解决方案的其他人的帮助下解决?
1) 我可以从供应商那里复制文件,然后尝试将第三方文件集成到我的项目中。
2) 我可以分叉存储库并进行所需的更改,然后将我的分叉版本添加到 packagist(感觉不对)或将我的分叉 git 作为存储库添加到 composer.json 文件。
我愿意接受其他想法,谢谢!
我会添加我现在解决的方法。如果有人有更好的答案,我会很乐意接受。
在我的例子中,有问题的存储库是一个 Github 我可以分叉的存储库。然后我可以克隆存储库并进行任何需要的更改。假设以下是我的 composer.json 文件中的内容。
"require": {
"someoneelse/project": "^1.0"
}
在我的 composer.json 文件中,我找到了依赖项 "someoneelse/project",并将当前版本要求“^1.0”更改为 "dev-master"。这将从 master 分支中提取最新的提交并将最小稳定性作为 dev.
然后我将我的存储库添加到 composer.json。你可以这样做
"repositories": [
{
"type": "git",
"url": "https://github.com/markustenghamn/project.git"
}
],
"require": {
"someoneelse/project": "dev-master"
}
运行 composer update 现在将从我的分支存储库中获取最新版本。如果有人决定再次开始这个项目,我总是可以改回来。该依赖项可能需要分叉项目 composer.json 文件中的其他依赖项,请记住在需要时更新这些依赖项。