如何把node更新到最新的nodejs稳定版本本

Node.js 爆 HTTP 安全漏洞,建议升级至 0.6.17 稳定版 - 编程语言 - ITeye资讯
相关知识库:
Node.js 今天宣称,其开发团队发现了一个 HTTP 服务器安全漏洞,使得应用程序存在泄露 HTTP 请求信息的风险。
据其博客文章介绍,此漏洞允许攻击者将 HTTP 协议分析器缓冲区的内容添加到请求信息的头文件中,使其伪装成正常 HTTP 请求信息。由于请求信息的回复内容通常是安全的,因此,攻击者可以利用这一点,非法获取泄露的其它 HTTP 请求信息的回复内容。
受此漏洞影响的版本有:
0.5分支所有版本
0.6.17版本之前的 0.6 分支所有版本
0.7.8版本之前的 0.7 分支所有版本
不过,0.4分支各版本暂未受此漏洞影响。
Node.js团队强烈建议开发者升级到最新发布的或添加以修复此漏洞。
详细信息:
修复脚本:
Matthew Daley原博文还专门用一大段进行了标明,到这里就变成Node.js其开发团队发现的了
哪只小白鼠踩出来的呢
相关资源推荐node0.12升级到6.x 实战
本文介绍node从0.12升级到6.x实战过程。
前几天node官方发布了6.x版本,官方介绍年底将不会维护node0.12,node0.10等版本,由于我们的node项目当前版本是node0.12,所以着手升级一下我们的服务端使用的node版本,打算升级到node6.x,从官网可以看到当前最新的版本是node6.1.0.
下面将记录整个升级node的过程。
安装nvm(node版本管理工具)
curl -o- /creationix/nvm/v0.31.0/install.sh | bash
. ~/.nvm/nvm.sh
设定node镜像源为淘宝的源(速度更快)
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
安装制定版本的node
查看可用版本
nvm ls-remote
安装指定版本
node install 6.1.0
验证升级结果
运行指令启动程序
node app.js
错误显示某些module版本落后
Module version mismatch. Expected 46, got 14 ...
执行npm rebuild和 npm update
再次执行node app.js
==== JS stack trace =========================================
Security context: 0x54fd37c9fa9 &JS Object&#0#
1: .node [module.js:568] [pc=0xce4] (this=0x7db1007e01 &an Object with map 0x37d5f043a4f9&#1#,module=0x26b77ba718e9 &a Module with map 0x37d5f041bb79&#2#,filename=0x26b77ba718c1 &String[123]:
2: load [module.js:~447] [pc=0x] (this=0x26b77ba718e9 &a Module with map 0x37d5f041bb79&#2#,filename=0x26b77ba718c1 &String[123]:
3: tryModuleLoad(aka tryModuleLoad) [module.js:415] [pc=0x9d] (this=0x54fd3704189 &undefined&,module=0x26b77ba718e9 &a Module with map 0x37d5f041bb79&#2#,filename=0x26b77ba718c1 &String[123]:
2: node::DTraceProbe::Initialize(v8::Local&v8::Object&)
3: node::DTraceProvider::Initialize(v8::Local&v8::Object&)
4: node::DLOpen(v8::FunctionCallbackInfo&v8::Value& const&)
5: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo&v8::Value& const&))
6: v8::internal::MaybeHandle&v8::internal::Object& v8::internal::(anonymous namespace)::HandleApiCallHelper&false&(v8::internal::Isolate*, v8::internal::(anonymous namespace)::BuiltinArguments&(v8::internal::BuiltinExtraArguments)1&)
7: v8::internal::Builtin_HandleApiCall(int, v8::internal::Object**, v8::internal::Isolate*)
访问服务之后确定只是一些报警处理,查询谷神(google)之后发现目前6.x版本对某些弃用的包使用还在支持中(或者修复中),所以如果追求最新的node版本,到此就可以使用了
降低node版本到稳定版本
每次启动程序这么多的warning信息很有友好,所以选用一个稳定的版本很重要,所以降低到稳定版本
运行nvm install 5.11.1,node app.js
[Error: Module version mismatch. Expected 47, got 48.]
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
[Error: Module version mismatch. Expected 47, got 48.]
{ [Error: Cannot find module './build/default/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
{ [Error: Cannot find module './build/Debug/DTraceProviderBindings'] code: 'MODULE_NOT_FOUND' }
重新编译和更新npm build,npm update,node app.js
node6.x暂时不是稳定版本,升级时会遇到一个模块版本不适配的情况,可以通过npm rebuild,npm update,npm install some_module@certain_version解决
建议先使用稳定的版本node5.x
从node0.12升级到node5.x或者node6.x版本的一大好处是,之前的node --harmony可以直接换成node,即5.x和6.x已经很好的支持了ejs6的特性,包括generetor function的使用。
本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.;如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:yqgroup@ 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
用云栖社区APP,舒服~
【云栖快讯】红轴机械键盘、无线鼠标等753个大奖,先到先得,云栖社区首届博主招募大赛9月21日-11月20日限时开启,为你再添一个高端技术交流场所&&
安装指定版本的命令应该是nvm install 6.1.0
yuxiao.lxy
谢谢提醒!
业内领先的面向企业的一站式研发提效平台,通过项目流程管理和专项自动化提效工具,能够很好地支持互联网敏捷项目的快速...
提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过Docker容器来进行应用生命周期管理。
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
Loading...Node发展太快了,版本更新的都跟不上学习了!!! - CNode技术社区
我就这么的任性
Node发展太快了,版本更新的都跟不上学习了!!!
上星期刚看完 Node v4.0.0发布,这星期回家又看到5.0.0了……
翻译完就合并到
ES6 看来是必学项目了。//鼻血
ES5大魔王表示坚决不向es6低头
ES5会的话,在学6就非常快的。
ES6好像很有前景的样子,忍不住拿来学习一番
只是升版本的位置不一样嘛, 以前升得不是也很快吗
赶紧 赶紧普及 ES6吧!
版本快,无所谓,
先学好最近稳定版本。
图新没法。
chrome 发展太快了,版本更新得都跟不上学习了!
稳定的api又没有变化?怪版本更新快,为何不静下心好好熟悉一下稳定的api?npm这么多模块都能持续支持到最新版本,他们又是怎样做到的?不要抱怨别人跑得太快跟不上,得想想自己慢在那里。
自豪地采用
别被版本吓怕了。。node api没有什么变化。只是多了ES6上的更新而已。
必须es6了,甚至es7,新特性很好用,async和await的支持,不用再掉入无限回调嵌套,甚至promise也被简化成形式。可以像写同步代码一样来写异步代码。可以看下:
基于sails,全站es6
搞的好像你之前都跟的上一样!从学习到现在快3年了,都还没跟上呢!对于纯前端要学的东西还有很多
其实没有什么变化的。。。变化都发生在常规用户看不到的地方
这帮人都是不看更新日志的,哈哈
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的

我要回帖

更多关于 node更新到最新版本 的文章

 

随机推荐