利用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 相关文章推荐
Javascript MD4
Dec 20 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
Nov 09 Javascript
js 异步处理进度条
Apr 01 Javascript
javascript中的prototype属性实例分析说明
Aug 09 Javascript
使用jQuery操作Cookies的实现代码
Oct 09 Javascript
jquery全选checkBox功能实现代码(取消全选功能)
Dec 10 Javascript
AngularJS 如何在控制台进行错误调试
Jun 07 Javascript
9种使用Chrome Firefox 自带调试工具调试javascript技巧
Dec 22 Javascript
vue.js实现的绑定class操作示例
Jul 06 Javascript
vue动态绑定class的几种常用方式小结
May 21 Javascript
前端路由&amp;webpack基础配置详解
Jun 10 Javascript
微信小程序实现侧边分类栏
Oct 21 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获取地址栏信息的代码
2008/10/08 PHP
PHP错误Cannot use object of type stdClass as array in错误的解决办法
2014/06/12 PHP
PHP编写简单的App接口
2016/08/28 PHP
PHP实现的操作数组类库定义与用法示例
2019/05/24 PHP
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
Node.js中使用事件发射器模式实现事件绑定详解
2014/08/15 Javascript
jQuery简单实现禁用右键菜单
2015/03/10 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
原生JS实现的放大镜效果实例代码
2016/10/15 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
新年快乐! javascript实现超级炫酷的3D烟花特效
2019/01/30 Javascript
使用node.JS中的url模块解析URL信息
2020/02/06 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
举例讲解Python中字典的合并值相加与异或对比
2016/06/04 Python
spyder常用快捷键(分享)
2017/07/19 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
解决python升级引起的pip执行错误的问题
2018/06/12 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
Python解析多帧dicom数据详解
2020/01/13 Python
Tensorflow 使用pb文件保存(恢复)模型计算图和参数实例详解
2020/02/11 Python
CSS3不透明度实例讲解
2016/04/26 HTML / CSS
班班通校本培训方案
2014/03/12 职场文书
外贸业务员求职信
2014/06/16 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书
2014幼儿园教育教学工作总结
2014/12/17 职场文书
幼儿园工作总结2015
2015/04/01 职场文书
实习介绍信范文
2015/05/05 职场文书
2015年小学英语教师工作总结
2015/05/12 职场文书
个人原因辞职信模板
2015/05/13 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python
Python Matplotlib绘制两个Y轴图像
2022/04/13 Python
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android