利用n 升级工具升级Node.js版本及在mac环境下的坑


Posted in Javascript onFebruary 15, 2017

一、利用n 升级Node.js

最近在用NPM安装一个nodejs工具时发现,我的nodejs的版本有些旧了。这不是大问题,只要升级就可以了,当然,重新从nodejs.org最新版本是一种方法,但我想应该有更简单的方法,那就是使用 n 这个工具包,我们可以使用NPM先安装 n 工具包,然后用它升级nodejs,十分的方便。

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

上面这是使用 n 来安装最新的稳定版的nodejs。

n 是一个Node工具包,它提供了几个升级命令参数:

  1. n                              显示已安装的Node版本
  2. n latest                       安装最新版本Node
  3. n stable                       安装最新稳定版Node
  4. n lts                          安装最新长期维护版(lts)Node
  5. n <version>                    根据提供的版本号安装Node

比如,你想安装指定的版本号:

sudo n 0.8.21

一旦安装完成,你可以通过下面的命令确认安装的版本:

node -v

二、mac环境下的测试

本文环境基于Mac OS X EI Capitan V10.11.4,应该是mac环境的通病。

在命令行里输入(网上的方法):

sudo npm install -g n

接着又输入 sudo n stable

然后命令行里开始显示百分比,从1% 慢慢变到100%,我以为更新完了,结果。。。

输入 node -v 显示:

dyld: Symbol not found:
 Referenced from: /usr/local/bin/node
 Expected in: /usr/lib/libstdc++.6.dylib
 Trace/BPT trap: 5

然后就知道麻烦来了,总之,npm后都是这样子,网上百度各种办法,重装gcc , 卸载node重装, 添加环境变量等等。。。。

反正各种方法都行不同, 真不知道 n 这个工具到底是否能够在mac上用,反正好多人遇到类似办法都没有解决。

抛弃n工具

既然n不能够在我的mac上起到升级作用,且还搞坏了node系统,且网上没有搜到有效的相关解决方案,那边只好卸载完全卸载node后重装了。

由于用了brew安装的node ,用  brew uninstall node 卸载node后发现还是没有解决问题。

那么一定是这个命令没有完全卸载node,那么只好自己手动卸载了。

cd 到根目录

find . -name "node"
 find . -name "npm"

删除所有搜索与node相关的结果

重新 brew instll node

安装结束肯能会提示err:

Error: The `brew link` step did not complete successfully
 The formula built, but is not symlinked into /usr/local
 Could not symlink lib/dtrace/node.d
 Target /usr/local/lib/dtrace/node.d
 already exists. You may want to remove it:
 rm '/usr/local/lib/dtrace/node.d'

 To force the link and overwrite all conflicting files:
 brew link --overwrite node

不用慌张,安照错误提示操作

rm '/usr/local/lib/dtrace/node.d'` 
brew link --overwrite node

重新运行命令发现node -v 安装成功了。npm -v后确认,重装成果。

node又恢复正常了!所以在mac环境下要慎用n升级工具来升级node.js版本。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
jquery pagination插件实现无刷新分页代码
Oct 13 Javascript
JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别和应用场景简述
Apr 15 Javascript
读jQuery之三(构建选择器)
Jun 11 Javascript
js修改input的type属性问题探讨
Oct 12 Javascript
js获取客户端网卡的IP地址、MAC地址
Mar 26 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
详解Jquery的事件操作和文档操作
Dec 19 Javascript
vue.js学习笔记:如何加载本地json文件
Jan 17 Javascript
浅谈redux, koa, express 中间件实现对比解析
May 23 Javascript
一百多行代码实现react拖拽hooks
Mar 23 Javascript
利用javaScript处理常用事件详解
Apr 14 Javascript
分享一个vue实现的记事本功能案例
Apr 11 Vue.js
JS原型与原型链的深入理解
Feb 15 #Javascript
js中数组插入、删除元素操作的方法
Feb 15 #Javascript
jQuery中on方法使用注意事项详解
Feb 15 #Javascript
防止重复发送 Ajax 请求
Feb 15 #Javascript
Input文本框随着输入内容多少自动延伸的实现
Feb 15 #Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
Feb 15 #Javascript
js记录点击某个按钮的次数-刷新次数为初始状态的实例
Feb 15 #Javascript
You might like
php打乱数组二维数组多维数组的简单实例
2016/06/17 PHP
Yii2中SqlDataProvider用法示例
2016/09/22 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
jQuery 1.2.x 升? 1.3.x 注意事项
2009/05/06 Javascript
JS 面向对象的5钟写法
2009/07/31 Javascript
Javascript的一种模块模式
2010/09/08 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
js中split函数的使用方法说明
2013/12/26 Javascript
JavaScript代码性能优化总结篇
2016/05/15 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
jQuery Jsonp跨域模拟搜索引擎
2017/06/17 jQuery
Vue组件库发布到npm详解
2018/02/17 Javascript
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
webpack css加载和图片加载的方法示例
2018/09/11 Javascript
vue-cli中使用高德地图的方法示例
2019/03/28 Javascript
Vue.js实现备忘录功能
2019/06/26 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
DJango的创建和使用详解(默认数据库sqlite3)
2019/11/18 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python错误的处理方法
2020/06/23 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
2021/03/03 Python
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
美国家居用品和厨具购物网站:DealsDot
2019/10/07 全球购物
linux面试题参考答案(8)
2015/08/11 面试题
应届生的求职推荐信范文
2013/11/30 职场文书
《高尔基和他的儿子》教学反思
2014/04/09 职场文书
学习教师法的心得体会
2014/09/03 职场文书
2014年业务员工作总结范文
2014/11/17 职场文书
论文答谢词
2015/01/20 职场文书
武侯祠导游词
2015/02/04 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
Vue3实现简易音乐播放器组件
2022/08/14 Vue.js