检查更新

1
sudo apt-get update

安装NodeJS和npm

先安装低版本的NodeJS,再通过npm更新版本。

1
2
3
$ sudo apt-get install nodejs
$ sudo apt-get install nodejs-legacy
$ sudo apt-get install npm

更换npm镜像

更换淘宝的镜像,这个是必须的,用过的node的人都知道。

1
$ sudo npm config set registry https://registry.npm.taobao.org

这一步我报错了:npm ERR! Cannot find module 'npm-autoinit/autoinit’
解决方法:
先执行以下命令,报错,但没关系:

1
$ npm config delete onload-script npm-autoinit/autoinit

再次执行更换源的命令,这次不再报错了:

1
$ sudo npm config set registry https://registry.npm.taobao.org

可通过下面方式来验证是否配置成功:

1
$ npm config get registry

查看下配置是否生效:

1
$ sudo npm config list

安装更新版本的工具N

npm中有一个模块叫做“n”,专门用于管理NodeJS版本。

1
$ sudo npm install -g n

更新node版本

更新到最新的稳定版:

1
2
$ npm install -g n
$ n stable

如需最新版本则用:

1
$ n latest

n后面也可以跟具体的版本号:

1
$ n v6.2.0

node.js升级就是这么简单。

升级npm

npm升级就更简单了,只需要在终端中输入:

1
$ npm -g install npm@next

问题:

问题:
执行n stable后,用node -v查看,还是原来的版本,用n命令查看确实是已经安装了最新的稳定版,但版本显示还是旧的。

解决方法:
多方找原因才发现问题:node的安装目录和 n 默认的路径不一样。
查看 node 当前安装路径:

1
2
$ which node
$ /usr/local/bin/node #举个例子

而 n 默认安装路径是 /usr/local,若你的 node 不是在此路径下,n 切换版本就不能把bin、lib、include、share 复制该路径中.
所以我们必须通过N_PREFIX变量来修改 n 的默认node安装路径。
编辑环境配置文件:

1
$ vim ~/.zshrc

将下面两行代码插入到文件末尾:

1
2
export N_PREFIX=/usr/local #node实际安装位置
export PATH=$N_PREFIX/bin:$PATH

执行source使修改生效:

1
$ source ~/.zshrc

重新安装node稳定版本:

1
$ n stable

这时候再查看node -v发现问题解决了。