#LTS

科普一下Node奇数版和偶数版的区别。 昨晚有个Nexty客户遇到模板代码启动就报错的问题,经过一番线上沟通,确认了代码没有改动、环境变量没有问题。今天让他把代码打包给我,我启动了也没有复现。 相同代码、相同依赖,启动结果却不同,基本上可以确定是环境问题。正好看到Node发布25.2版本和宣布24.11版本成为稳定版本,我让他查一下Node版本,果然是奇数版本(25版本)。后来他安装了22版本就没问题了。 不熟悉Node的朋友肯定很好奇为什么新版本反而有问题。 这和Node版本规划和奇偶版本区别有关。Node每年版本更新节奏大概是这样: - 每年4月,Node会发布一个偶数版 - 每年10月,会将4月发布的偶数版标记LTS,也就是长期维护状态 - 每年10月,还会发布一个奇数版本,奇数版本会引入一些实验性特性,为下一个偶数版本做实验 - 等到下一个4月份,新的偶数版本发布,奇数版本就停止维护 Node奇数版可能有破坏性更新且是短期维护的版本,偶数版才更像正式的大版本。我们日常开发要安装偶数版本,而且要选择LTS版本。 第二个问题是本地Node版本管理。 现在很多人自己做产品刚接触Node,用的Node版本都还很新,但是过几年就会发现自己用的Node变成老古董了,连新项目都无法启动。 比如,如果你还在用23年10月发布的Node 20.1,那你现在已经无法运行Next.js 16了,因为Next.js 16最低要求Node 20.9了。 不过好在Node可以多版本共存,而且切换版本很方便,你只需要告诉AI你的电脑系统和需要的Node版本,AI会给你完整的安装命令、切换版本命令、设置默认版本命令。