Node.js版本选择和更新
相信大家对Node.js及io.js的历史已经非常熟悉了,2014年12月,多位重量级Node.js开发者不满Joyent对Node.js的管理,自立门户创建了io.js。io.js的发展速度非常快,先是于2015年1月份发布了1.0版本,并且很快就达到了2.0版本,社区非常活跃。2015年5月io.js社区又宣布,这两个项目将合并到Node基金会下,并暂时由“Node.js和io.js核心技术团队联合监督”运营。之后发布的版本就是V4了。之所以是V4,想来也是因为合并后,直接跳过了小三的阶段吧!
所以稳妥的话,不太激进,还是从4开始,激进点可以选择跟高版本!
Node.js的更新
1. 更新你已经安装的NPM库,这个很简单,只需要运行。
npm update –g
(这里NPM是什么小编就不再赘述了)
2.跟新Node.js自身
npm install –g n
n latest
下面附上Node.js狗血历史
Node.js不是凭空出现的项目,也不是某个Web前端工程师为了完成将JavaScript应用到服务端的理想而在实验室里捣鼓出来的。它的出现主要归功于Ryan Dahl历时多年的研究,以及一个恰到好处的节点。2008年V8随着Chrome浏览器的出世,JavaScript脚本语言的执行效率得到质的提升,这给Ryan Dahl带来新的启示,他原本的研究工作与V8之间碰撞出火花,于是带来了一个基于事件的高性能Web服务器。
Node.js随着JSConf EU会议等形式的宣传下,一家位于硅谷的创业公司注意到了该项目。这家公司就是Joyent,主要从事云计算和数据分析等。Joyent意识到Node.js项目的价值,决定赞助这个项目。Ryan Dahl于2010年加入该公司,全职负责Node.js项目的开发。此时Node.js项目进入了它生命历程里的第二个阶段:从个人项目变成一个公司组织下的项目。
2009年5月,Ryan Dahl正式向外界宣布他做的这个项目。2009年底,Ryan Dahl在柏林举行的JSConf EU会议上发表关于Node.js的演讲,之后Node.js逐渐流行于世。
Node.js随着JSConf EU会议等形式的宣传下,一家位于硅谷的创业公司注意到了该项目。这家公司就是Joyent,主要从事云计算和数据分析等。Joyent意识到Node.js项目的价值,决定赞助这个项目。Ryan Dahl于2010年加入该公司,全职负责Node.js项目的开发。此时Node.js项目进入了它生命历程里的第二个阶段:从个人项目变成一个公司组织下的项目。
这个阶段可以从2010年Ryan Dahl加入Joyent开始到2014年底Mikeal Rogers发起Node Forward结束,Node的版本也发展到了v0.11。这个时期,IT业中的大多数企业都关注过Node.js项目,如微软甚至对于Node.js对Windows的移植方面做过重要的贡献。
这个时期可以的组织架构和管理模式可以总结为“Gatekeeper + Joyent”模式。
Gatekeeper的身份类似于项目的技术负责人,对技术方向的把握是有绝对权威。历任的Gatekeeper为:Ryan Dahl、Isaac Z. Schlueter、Timothy J Fontaine,均是在Node.js社区具有很高威望的贡献者。项目的法律方面则由Joyent负责,Joyent注册了“Node.js”这个商标,使用其相关内容需要得到法律授权(如笔者《深入浅出Node.js》上使用了Node.js的Logo,当时是通过邮件的形式得到过授权)。技术方面除了Gatekeeper外,还有部分core contributor。core contributor除了贡献重要feature外,帮助项目进行日常的patch提交处理,协助review代码和合并代码。项目中知名的core contributor有Ben Noordhuis,Bert Belder、Fedor Indutny、Trevor Norris、Nathan Rajlich等,这些人大多来自Joyent公司之外,他们有各自负责的重要模块。Gatekeeper除了要做core contributor的事情外,还要决定版本的发布等日常事情。
Node.js成为Joyent公司的项目后,Joyent公司对该项目的贡献非常大,也没有过多的干涉Node.js社区的发展,还投入了较多资源发展它,如Ryan Dahl、Isaac Z. Schlueter、Timothy J Fontaine等都是Joyent的全职员工。
Node.js社区的分裂
“Gatekeeper + Joyent”模式运作到2013年的时候都还工作良好,蜜月期大概中止于第二任Gatekeeper Isaac Z. Schlueter离开Joyent自行创建npm inc.公司时期。前两任Gatekeeper期间,Node.js的版本迭代都保持了较高的频率,大约每个月会发布一个小版本。在Isaac Z. Schlueter卸任Gatekeeper之后,Node.js的贡献频率开始下降,主要的代码提交主要来自社区的提交,代码的版本下降到三个月才能发布一个小版本。社区一直期待的1.0版本迟迟不能发布。这个时期Node.js属于非常活跃的时期,但是对于Node.js内核而言却进展缓慢。技术方向上似乎是有些不明朗,一方面期待内核稳定下来,一方面又不能满足社区对新feature的渴望(如ES6的特性迟迟无法引入)。
在2014年8月,以Mikeal Rogers为首,几个重要core contributor一起发起了一个叫做“Node forword”的组织。该组织致力于发起一个由社区自己驱动来提升Node、JavaScript和整个生态的项目。
“Node forword”可以视作是io.js的前身。这些core contributor们在“Node forword”上工作了一段时间,后来因为可能涉及到Node这个商标问题,Fedor Indutny愤而fork了Node.js,改名为io.js,宣告了Node.js社区的正式分裂。
io.js与Node.js基金会
时间来到2015年1月,Node.js临时委员会正式发布通告决定将Node.js项目迁移到基金会,并决定跟io.js之间进行和解。简单点来说Node.js方面除了版本的进展比较缓慢外,确实是在制定一个新的模式来确保Node.js项目的下一步发展,Joyent公司本着开放的原则,也做出相当大的让步,保持着较为和谐的状态。
然而io.js动作太快,代码的进展程度远远快于Node.js项目,和解的讨论从2月开始讨论,到5月才做出决定。这时io.js已经发布了它的2.0版本。
最终的结论是Node.js项目和io.js项目都将加入Node.js基金会。Node.js基金会的模式与io.js较为相似,但是更为健全。Mikeal Rogers在他的一篇名为《Growing Up》的文章中提到io.js项目需要一个基金会的原因。
这大概就是Node.js的历史吧!
如果大家有兴趣了解详情,可以看这篇文章:http://www.infoq.com/cn/articles/node-js-and-io-js
未来CTO
关注我CTO之路从此开始微信号:wlaicto