利用n 升级工具升级Node.js版本及在mac环境下的坑
一、利用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工具包,它提供了几个升级命令参数:
- n 显示已安装的Node版本
- n latest 安装最新版本Node
- n stable 安装最新稳定版Node
- n lts 安装最新长期维护版(lts)Node
- 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版本。
原文链接:http://www.jb51.net/article/105640.htm
利用n 升级工具升级Node.js版本及在mac环境下的坑的更多相关文章
- GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。
GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...
- Mac下nvm管理node.js版本问题
本篇文章主要是针对已经安装了node.js和nvm管理工具小伙伴遇到的问题. 管理工具有两个,一个是nvm,还有一个是nnvm的好处就是可以管理多个node版本,而且可以切换想要的版本,可以安装一个稳 ...
- 使用nvm管理node.js版本以及更换npm淘宝镜像源
目录 1,前言 2,安装nvm 3,nvm的使用 4,错误处理 5,修改npm默认镜像源 6,win10下cnpm报错 1,前言 注意:此教程仅限Windows,Mac可能不适用 在我们的日常开发中可 ...
- 限定项目的 Node.js 版本
限定项目运行所需的 Node.js 版本可保证项目在一个稳定可预期的环境中运行,减少不必要的故障.甚至有些依赖库只能工作于某些版本下.同时,不加以限制的话,在多人合作的项目中恐怕会引起环境不一致带来的 ...
- Mac环境下升级gcc版本--rocksdb
前言 在mac环境下编译rocksdb,需要配置依赖的编译环境,其中有一项比较麻烦:c++编译要支持C++11,但是在mac环境安装xcode-select --install之后,已经安装有了gcc ...
- vue+node.js+webpack开发微信公众号功能填坑——v -for循环
页面整体框架实现,实现小功能,循环出数据,整体代码是上一篇 vue+node.js+webpack开发微信公众号功能填坑--组件按需引入 修改部门代码 app.vue <yd-flexbox&g ...
- Mac环境下Myeclispe2015工具的安装与破解
链接地址:http://www.07net01.com/2015/08/919753.html 07net01.com 发布于 2015-08-30 22:19:37 分类:IT技术 阅读(306) ...
- php大力力 [003节]php在百度文库的几个基础教程mac环境下文本编辑工具
2015-08-22 php大力力003.mac环境下文本编辑工具 在windows下,使用notepad特别多.在mac下使用“备忘录”app,word,反而没有存储过txt后缀等不同文本. mac ...
- 最简单的方式在linux上升级node.js版本
node的升级频率太高,n模块来升级是最方便的,网上看了很多资料介绍使用n模块,但是安装n模块之后却经常找不到这个命令 很多同学安装之后直接去使用n会发现命令不存在,就停留在这一步无法前进了. 解决 ...
随机推荐
- HTML中字体的垂直排列
1.源代码: <html> <head> </head> <body> <div style="font-size:18px;writi ...
- rgbdslam 源代码的实现
经过一番努力,终于跑通了felix.endres的rgbd slam v2 源码,中间遇到挺多问题.总结如下: (1) 关于SiftGPU问题:ERROR: SiftGPU cannot be com ...
- CenOs7安装oracle图文详细过程(01)
原创作品,转载请在文章头部(显眼位置)注明出处:https://www.cnblogs.com/sunshine5683/p/10011441.html 1.检查必要的安装包是否安装 命令脚本: rp ...
- Oracle Metadata
http://www.devart.com/dotconnect/oracle/articles/metadata.htmlhttp://dcx.sybase.com/1101/en/dbprogra ...
- MAVLink Linux/QNX/MacOs Integration Tutorial (UDP)
MAVLink Linux/QNX/MacOs Integration Tutorial (UDP) Overview This program was written to test the udp ...
- Creating dynamic/configurable parameterized queries in Entity Framework
https://dillieodigital.wordpress.com/2013/05/09/creating-dynamicconfigurable-parameterized-queries-i ...
- MyBatis基本配置和实践(四)
一.Mybatis整合spring 1.整合思路 SqlSessionFactory对象应该放到spring容器中作为单例存在. 传统dao的开发方式中,应该从spring容器中获得sqlsessio ...
- BufferedInputStream使用详解
下面的例子演示如何使用BufferedInputStream类读取文本文件内容. 首先需要声明一个byte数组作为buffer,然后循环将文本内容循环读入到buffer中,并将buffer转换为字符串 ...
- socket概念 套接字
理解socket soxket因为TCP是面向流的,你发的信息如果很多很快,TCP这样就会形成黏包 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socke ...
- [翻译] ABPadLockScreen
ABPadLockScreen ABPadLockScreen aims to provide a universal solution to providing a secure keypad/pi ...