一、利用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版本。

原文链接:http://www.jb51.net/article/105640.htm

利用n 升级工具升级Node.js版本及在mac环境下的坑的更多相关文章

  1. GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟。

    GitBook是一个命令行工具(Node.js库),我们可以借用该工具使用Github/Git和Markdown来制作精美的图书,但它并不是一本关于Git的教程哟. 支持输出多种格式 GitBook支 ...

  2. Mac下nvm管理node.js版本问题

    本篇文章主要是针对已经安装了node.js和nvm管理工具小伙伴遇到的问题. 管理工具有两个,一个是nvm,还有一个是nnvm的好处就是可以管理多个node版本,而且可以切换想要的版本,可以安装一个稳 ...

  3. 使用nvm管理node.js版本以及更换npm淘宝镜像源

    目录 1,前言 2,安装nvm 3,nvm的使用 4,错误处理 5,修改npm默认镜像源 6,win10下cnpm报错 1,前言 注意:此教程仅限Windows,Mac可能不适用 在我们的日常开发中可 ...

  4. 限定项目的 Node.js 版本

    限定项目运行所需的 Node.js 版本可保证项目在一个稳定可预期的环境中运行,减少不必要的故障.甚至有些依赖库只能工作于某些版本下.同时,不加以限制的话,在多人合作的项目中恐怕会引起环境不一致带来的 ...

  5. Mac环境下升级gcc版本--rocksdb

    前言 在mac环境下编译rocksdb,需要配置依赖的编译环境,其中有一项比较麻烦:c++编译要支持C++11,但是在mac环境安装xcode-select --install之后,已经安装有了gcc ...

  6. vue+node.js+webpack开发微信公众号功能填坑——v -for循环

    页面整体框架实现,实现小功能,循环出数据,整体代码是上一篇 vue+node.js+webpack开发微信公众号功能填坑--组件按需引入 修改部门代码 app.vue <yd-flexbox&g ...

  7. Mac环境下Myeclispe2015工具的安装与破解

    链接地址:http://www.07net01.com/2015/08/919753.html 07net01.com 发布于 2015-08-30 22:19:37 分类:IT技术 阅读(306) ...

  8. php大力力 [003节]php在百度文库的几个基础教程mac环境下文本编辑工具

    2015-08-22 php大力力003.mac环境下文本编辑工具 在windows下,使用notepad特别多.在mac下使用“备忘录”app,word,反而没有存储过txt后缀等不同文本. mac ...

  9. 最简单的方式在linux上升级node.js版本

    node的升级频率太高,n模块来升级是最方便的,网上看了很多资料介绍使用n模块,但是安装n模块之后却经常找不到这个命令  很多同学安装之后直接去使用n会发现命令不存在,就停留在这一步无法前进了. 解决 ...

随机推荐

  1. HTML中字体的垂直排列

    1.源代码: <html> <head> </head> <body> <div style="font-size:18px;writi ...

  2. rgbdslam 源代码的实现

    经过一番努力,终于跑通了felix.endres的rgbd slam v2 源码,中间遇到挺多问题.总结如下: (1) 关于SiftGPU问题:ERROR: SiftGPU cannot be com ...

  3. CenOs7安装oracle图文详细过程(01)

    原创作品,转载请在文章头部(显眼位置)注明出处:https://www.cnblogs.com/sunshine5683/p/10011441.html 1.检查必要的安装包是否安装 命令脚本: rp ...

  4. Oracle Metadata

    http://www.devart.com/dotconnect/oracle/articles/metadata.htmlhttp://dcx.sybase.com/1101/en/dbprogra ...

  5. MAVLink Linux/QNX/MacOs Integration Tutorial (UDP)

    MAVLink Linux/QNX/MacOs Integration Tutorial (UDP) Overview This program was written to test the udp ...

  6. Creating dynamic/configurable parameterized queries in Entity Framework

    https://dillieodigital.wordpress.com/2013/05/09/creating-dynamicconfigurable-parameterized-queries-i ...

  7. MyBatis基本配置和实践(四)

    一.Mybatis整合spring 1.整合思路 SqlSessionFactory对象应该放到spring容器中作为单例存在. 传统dao的开发方式中,应该从spring容器中获得sqlsessio ...

  8. BufferedInputStream使用详解

    下面的例子演示如何使用BufferedInputStream类读取文本文件内容. 首先需要声明一个byte数组作为buffer,然后循环将文本内容循环读入到buffer中,并将buffer转换为字符串 ...

  9. socket概念 套接字

    理解socket soxket因为TCP是面向流的,你发的信息如果很多很快,TCP这样就会形成黏包 Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socke ...

  10. [翻译] ABPadLockScreen

    ABPadLockScreen ABPadLockScreen aims to provide a universal solution to providing a secure keypad/pi ...