利用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 相关文章推荐
extjs form textfield的隐藏方法
Dec 29 Javascript
帮助避免错误的Javascript陷阱清单
May 31 Javascript
用jQuery扩展自写的 UI导航
Jan 13 Javascript
jquery里的正则表达式说明
Aug 03 Javascript
jQuery-Easyui 1.2 实现多层菜单效果的代码
Jan 13 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
Aug 25 Javascript
jQuery基本选择器之标签名选择器
Sep 03 Javascript
js 动态生成html 触发事件传参字符转义的实例
Feb 14 Javascript
javascript 的变量、作用域和内存问题
Apr 19 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
Nov 14 Javascript
JS数组求和的常用方法实例小结
Jan 07 Javascript
小程序实现图片预览裁剪插件
Nov 22 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后门代码解析
2014/07/05 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
Windows平台PHP+IECapt实现网页批量截图并创建缩略图功能详解
2019/08/02 PHP
php接口隔离原则实例分析
2019/11/11 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
聊聊 PHP 8 新特性 Attributes
2020/08/19 PHP
jQuery学习笔记[1] jQuery中的DOM操作
2010/12/03 Javascript
如何用JavaScript动态呼叫函数(两种方式)
2013/05/03 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
angularJS+requireJS实现controller及directive的按需加载示例
2017/02/20 Javascript
完美解决浏览器跨域的几种方法(汇总)
2017/05/08 Javascript
angularjs 缓存的使用详解
2018/03/19 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
解决layer弹出层自适应页面大小的问题
2019/09/16 Javascript
Python爬取三国演义的实现方法
2016/09/12 Python
Python编写Windows Service服务程序
2018/01/04 Python
Python pandas常用函数详解
2018/02/07 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
Python 计算任意两向量之间的夹角方法
2019/07/05 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
全方位了解CSS3的Regions扩展
2015/08/07 HTML / CSS
蔻驰美国官网:COACH美国
2016/08/18 全球购物
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
光荣入党自我鉴定
2014/01/22 职场文书
群众路线自我剖析范文
2014/11/04 职场文书
超市督导岗位职责
2015/04/10 职场文书
2015企业年终工作总结范文
2015/05/27 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
python数字转对应中文的方法总结
2021/08/02 Python