利用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 相关文章推荐
最佳JS代码编写的14条技巧
Jan 09 Javascript
js实现鼠标感应图片展示的方法
Feb 27 Javascript
18个非常棒的jQuery代码片段
Nov 02 Javascript
JSONP原理及简单实现
Jun 08 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
Jun 20 Javascript
Vue.extend构造器的详解
Jul 17 Javascript
利用JavaScript的%做隔行换色的实例
Nov 25 Javascript
vue 自定义 select内置组件
Apr 10 Javascript
Vue表单demo v-model双向绑定问题
Jun 29 Javascript
webpack 开发和生产并行设置的方法
Nov 08 Javascript
微信小程序可滑动周日历组件使用详解
Oct 21 Javascript
Element Backtop回到顶部的具体使用
Jul 27 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
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
非常不错的功能强大代码简单的管理菜单美化版
2008/07/09 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
jquery取消选择select下拉框示例代码
2014/02/22 Javascript
javascript几个易错点记录
2014/11/26 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
JavaScript手机振动API
2016/06/11 Javascript
JavaScript之WebSocket技术详解
2016/11/18 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
js编写选项卡效果
2017/05/23 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
JavaScript原生实现观察者模式的示例
2017/12/15 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
JS根据json数组多个字段排序及json数组常用操作
2019/06/06 Javascript
Django中的Signal代码详解
2018/02/05 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
对DataFrame数据中的重复行,利用groupby累加合并的方法详解
2019/01/30 Python
python Tkinter的图片刷新实例
2019/06/14 Python
PyTorch的深度学习入门之PyTorch安装和配置
2019/06/27 Python
安装python及pycharm的教程图解
2019/10/10 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
详解Python高阶函数
2020/08/15 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
Theo + George官方网站:都柏林时尚品牌
2019/04/08 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
高中运动会广播稿
2014/01/21 职场文书
二年级学生评语大全
2014/04/23 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
商务邀请函
2015/01/30 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技