利用n 升级工具升级Node.js版本及在mac环境下的坑
一、利用n升级Node.js
最近在用NPM安装一个nodejs工具时发现,我的nodejs的版本有些旧了。这不是大问题,只要升级就可以了,当然,重新从nodejs.org最新版本是一种方法,但我想应该有更简单的方法,那就是使用n这个工具包,我们可以使用NPM先安装n工具包,然后用它升级nodejs,十分的方便。
sudonpmcacheclean-f sudonpminstall-gn sudonstable
上面这是使用n来安装最新的稳定版的nodejs。
n是一个Node工具包,它提供了几个升级命令参数:
- n 显示已安装的Node版本
- nlatest 安装最新版本Node
- nstable 安装最新稳定版Node
- nlts 安装最新长期维护版(lts)Node
- n<version> 根据提供的版本号安装Node
比如,你想安装指定的版本号:
sudon0.8.21
一旦安装完成,你可以通过下面的命令确认安装的版本:
node-v
二、mac环境下的测试
本文环境基于MacOSXEICapitanV10.11.4,应该是mac环境的通病。
在命令行里输入(网上的方法):
sudonpminstall-gn
接着又输入sudonstable
然后命令行里开始显示百分比,从1%慢慢变到100%,我以为更新完了,结果。。。
输入node-v显示:
dyld:Symbolnotfound: Referencedfrom:/usr/local/bin/node Expectedin:/usr/lib/libstdc++.6.dylib Trace/BPTtrap:5
然后就知道麻烦来了,总之,npm后都是这样子,网上百度各种办法,重装gcc,卸载node重装,添加环境变量等等。。。。
反正各种方法都行不同,真不知道n这个工具到底是否能够在mac上用,反正好多人遇到类似办法都没有解决。
抛弃n工具
既然n不能够在我的mac上起到升级作用,且还搞坏了node系统,且网上没有搜到有效的相关解决方案,那边只好卸载完全卸载node后重装了。
由于用了brew安装的node,用 brewuninstallnode卸载node后发现还是没有解决问题。
那么一定是这个命令没有完全卸载node,那么只好自己手动卸载了。
cd到根目录
find.-name"node" find.-name"npm"
删除所有搜索与node相关的结果
重新brewinstllnode
安装结束肯能会提示err:
Error:The`brewlink`stepdidnotcompletesuccessfully Theformulabuilt,butisnotsymlinkedinto/usr/local Couldnotsymlinklib/dtrace/node.d Target/usr/local/lib/dtrace/node.d alreadyexists.Youmaywanttoremoveit: rm'/usr/local/lib/dtrace/node.d' Toforcethelinkandoverwriteallconflictingfiles: brewlink--overwritenode
不用慌张,安照错误提示操作
rm'/usr/local/lib/dtrace/node.d'` brewlink--overwritenode
重新运行命令发现node-v安装成功了。npm-v后确认,重装成果。
node又恢复正常了!所以在mac环境下要慎用n升级工具来升级node.js版本。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。