为什么会有4个版本的Node JS?

12

为什么现在有四个“当前”版本的NodeJS?

  • 0.10.41(维护版)
  • 0.12.9(LTS版)
  • 4.2.3 Argon(LTS版)
  • 5.1.1(稳定版)

根据NodeJS 发布页面,它们都是在12月3日发布的。但它们之间有什么区别?我应该使用哪一个版本?


它们在那些日期被更改了。 - FurkanO
当然了。但是为什么所有的更新都在同一天发布呢?我看到很多托管服务仍在使用0.12.9版本,但这似乎比5.11版本旧得多。对我来说,0.x版本必须与4.x或5.x版本有很大的不同。那么...这其中有什么区别呢? - Adam Haile
1
新版本支持es6,旧版本不支持。根据您的托管环境,您可能需要选择旧版本(例如AWS EB)。https://nodejs.org/en/docs/es6/ - Brian Shamblen
1个回答

17

LTS与Stable

  • LTS(长期支持):成熟可靠。已经被证明稳定,并承诺保持稳定。
  • Stable:最新功能。可以在生产中使用,但不建议那些不需要这些功能且需要可靠性的人使用。

NodeJS与IoJS

IoJS是NodeJS的一个分支,旨在更新V8引擎并引入ES6支持。这两个社区投票决定合并,现在,从9月份发布的版本4开始,IoJS的功能已经被合并到Node中。版本格式之所以发生如此大的改变,是因为他们采用了IoJS使用的semver。版本1到3是IoJS的版本。你现在可以或多或少地忽略IoJS。

正如我提到的,4是最新的LTS版本,5是最新的Stable版本。

IoJS之前

在合并之前,NodeJS 0.10是LTS版本,0.12是Stable版本。现在,0.12是LTS版本,0.10只是一个旧版本,供维护使用。我没有任何关于对0.10的承诺的事实或数据。

应该使用哪个版本

你应该考虑你的目标受众和你可用的环境。

如果你的环境允许使用NodeJS 4.x或更高版本(即,如果你的主机环境支持它),并且在该版本上没有依赖兼容性问题,如果你正在开发一个需要可靠性和稳定性至关重要的生产应用程序或模块,请使用最新的LTS,否则请使用5,如果你需要或可以接受最新的和最好的功能。如果你在NodeJS 4或之后有兼容性问题,请使用0.12。

更多信息

如何管理多个NodeJS版本

你可能会遇到这样的问题:安装了最新版本的Node,但项目无法工作,或者需要安装旧版本以支持某个项目,但是又希望在另一个项目中使用较新版本。

那么就可以使用NVM。它是一个Bash实用程序,可以让你通过命令行安装和切换不同的Node版本,或者将设置文件放入项目中,让它自动为你切换。请注意,NVM只适用于Linux/OSX系统;请参阅NVM自述文件,了解Windows兼容的类比列表。


看,这就是我困惑的地方。NodeJS/IoJS和普通的NodeJS有什么区别? - Adam Haile
1
@Markasoftware 我认为这不是那么简单明了的事情。 稳定 ≠ 最成熟和可靠,反之亦然,旧 ≠ 过时或不相关。 这取决于手头工作的要求。 - moribvndvs
1
@HackedByChinese 我猜你一定是一个Debian用户,相比之下我是一个Arch Linux用户。 - markasoftware
1
@HackedByChinese 你说稳定版(node v5)“不建议那些不需要这些功能的人使用”。相比v4,v5引入了哪些功能? - styfle
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接