利用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 tab插件制作实现代码
Jun 22 Javascript
JavaScript中关于indexOf的使用方法与问题小结
Aug 05 Javascript
跨浏览器的事件对象介绍
Jun 27 Javascript
写自已的js类库需要的核心代码
Jul 16 Javascript
javascript 用函数语句和表达式定义函数的区别详解
Jan 06 Javascript
纯Javascript实现ping功能的方法
Mar 20 Javascript
Three.js快速入门教程
Sep 09 Javascript
JavaScript 获取元素在父节点中的下标(推荐)
Jun 28 Javascript
vue scroller返回页面记住滚动位置的实例代码
Jan 29 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
小程序实现留言板
Nov 02 Javascript
判断js数据类型的函数实例详解
May 23 Javascript
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
福利彩票幸运号码自动生成器
2006/10/09 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
jQuery中用dom操作替代正则表达式
2014/12/29 Javascript
jquery制作 随机弹跳的小球特效
2015/02/01 Javascript
JS网页在线获取鼠标坐标值的方法
2015/02/28 Javascript
整理Javascript函数学习笔记
2015/12/01 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
基于JavaScript实现微信抢红包功能
2017/07/20 Javascript
详解如何在vue项目中引入elementUI组件
2018/02/11 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
layer ui 导入文件之前传入数据的实例
2019/09/23 Javascript
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[19:15]DK战队纪录片
2014/09/02 DOTA
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
[00:11]战神迅矛
2019/03/06 DOTA
Java及python正则表达式详解
2017/12/27 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
python 模拟贷款卡号生成规则过程解析
2019/08/30 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
Python多线程获取返回值代码实例
2020/02/17 Python
Python yield的用法实例分析
2020/03/06 Python
keras中模型训练class_weight,sample_weight区别说明
2020/05/23 Python
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
存储过程的优点有哪些
2012/09/27 面试题
简述索引存取方法的作用和建立索引的原则
2013/03/26 面试题
优秀实习自我鉴定
2013/12/04 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
财务内勤岗位职责
2014/04/17 职场文书
安阳殷墟导游词
2015/02/10 职场文书
改进工作作风心得体会
2016/01/23 职场文书
深入探讨opencv图像矫正算法实战
2021/05/21 Python
python分分钟绘制精美地图海报
2022/02/15 Python