真的,Laravel LTS 实用性不强

Laravel

今天当我回看之前的一些老项目时,我发现我有两个项目还在使用 Laravel 5.1 版本,也是第一个 LTS 的版本。

Laravel 5.1是第一个拥有 长期支持(LTS) 的版本。包括2年的 bug 修复和3年的安全修复。这个支持周期为大型企业和客户提供了长久的稳定性。

Laravel 5.1 Release Notes

从表面上来看,这确实很不错,因为你使用的产品将会在未来继续得到官方的支持。在互联网时代,支持一个产品 5 年并不是一件容易的事情,所以消费者可能非常感激它。正常的 Laravel 版本似乎每 6 个月发布一次,因此有时很难及时更新,以保持版本同步。

这就是我被 LTS 吸引的原因,但是几年后,我完全感受到了整个 LTS 版本生态系统的不同。

延迟技术债

从业余爱好写项目开始,选择 Laravel 5.1 后,让我几乎忽略了每一个 Laravel 版本的更新,直到下一个 LTS 版本的出现,也就是 Laravel 5.5。

  • Laravel 5.1 LTS - 2015年6月9日
  • Laravel 5.5 LTS - 2017年8月30日

然而,2017年8月份,我的业余爱好项目没有在积极开发,只是偶尔 commit 来解决一个 issue。跳转到下一个 LTS 所需的技术债实在太大,无法承受。对于 PHP 框架世界,您不能只从 5.1 -> 5.5 跳下去。

升级说明仅适用于 5.1 -> 5.2, 5.2 -> 5.3, 5.3 -> 5.4 和 5.4 -> 5.5。这意味着我需要对每个单独的(非 LTS )进行升级,以便进入下一个 LTS 版本。由于我当前的 LTS 版本不再受支持,并且与新的 PHP 版本也不兼容,所以我需要升级。

从 5.1 -> 5.5 的升级不是一项简单的任务。像更新我项目的依赖包这样简单的事情都会遇到压力。可以设想一个支持 LTS 版本(5.1 和 5.5 以及最新的 Laravel 版本 5.7)的流行依赖包。当我在升级 Laravel 5.2 时,我找不到适合某个依赖包的包版本。这意味着我必须寻找特定的 tagscommits ,以便只运行旧版本的拓展包来完成我的 5.2 升级。

当这个业余爱好项目处于一周开发很多小时的黄金时期时,我应该升级 5.2 版本。依赖包版本应该是一致的,1 次升级比 4 次更容易。

我在工作上和家里都有更多的项目存在这个问题。你认为你在节省时间和精力,但这么做只是在拖延问题的发生,而这样做只会使问题在到来时难以完成。

下一次我在 LTS 和非 LTS 之间做选择时,我将坚持更新常规的 Laravel 版本。如果一个产品还活着,没有任何理由限制自己承担 LTS 带来的技术债。

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://connortumbleson.com/2019/01/28/l...

译文地址:https://learnku.com/laravel/t/31687

本文为协同翻译文章,如您发现瑕疵请点击「改进」按钮提交优化建议
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 20

早期项目是用 5.1 开发的,现在马上出 6.0 了,很多东西都发生了翻天覆地的变化,本来想升级的,后来想想还是算了,光想想就很恐怖了 :joy: :joy:

4年前 评论
Summer

LTS 升级确实是一个头痛的事情

4年前 评论

所以我们是积极更新,这样每次更新不会有太大的问题……如果隔了三五个大版本再升级,就比较麻烦了……

4年前 评论
Epona

@Summer 我新项目都开始用最新版了。有新的就用新的,毕竟新功能很实用😂(以及有一些新开发的包是不支持 LTS的。 是的,我说的就是laravel/telescope。。

4年前 评论

早期项目是用 5.1 开发的,现在马上出 6.0 了,很多东西都发生了翻天覆地的变化,本来想升级的,后来想想还是算了,光想想就很恐怖了 :joy: :joy:

4年前 评论

亲身体验过从 5.2 升到 5.8 ,最大的坑就是 or 被取消了,而写这个的人在代码里面大量使用了 or

4年前 评论

永远停在了5.1=-= :joy:

4年前 评论
chongyi

所以项目从起步到成熟,最终自己封装组件才是正道

4年前 评论

国内很少人公司会去升级

4年前 评论

一个很久的项目使用5.1开发,最近这个项目有比较大的需求要开发。我打算将这个新需求作为一个新项目使用最新版Laravel来开发了,要用到原项目一些数据的地方我选择在原项目写API来对接~

4年前 评论

好了,打消了我心里仅有的那么一点点用 LTS 的想法,

4年前 评论
月光

有新的干嘛不用呢,没道理。

4年前 评论
Complicated

一直想用新的laravel版本去开发,奈何咱说了不算啊

4年前 评论
panda-sir

嗯 赞同 毕竟这种项目和比如系统 类似ubuntu不一样 更新一个版本变动都会很大 更别说从5.1跨度到现在的5.8

4年前 评论
游离不2

哈哈,我们都用最新版

4年前 评论

一直都是最新版。一个项目从5.5开发到了5.8 :joy:

4年前 评论

说起都是泪,最近决定要升级一个老框架从 php5.4 直接升级到 php7~ :joy:

4年前 评论
lalalala 3年前
iMactool (作者) 3年前
Lafite

跟钱无关随便升~! 跟钱有关不要动!!

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!