本博客不欢迎:各种镜像采集行为,请尊重知识产权法律法规。大家都是程序员,不要闹得不开心。

在以前的文章中,苏南大叔介绍过nvm这款node切换版本的工具。but,这里有一款更加根正苗红的工具,叫做n。这个是node官方提供的,从n这么高大上的名字上来说,是不是能够感受到一脸的浩然正气?那么广大小白是不是就可以无忧无虑的使用n了?并非如此,是代码就会有坑,有坑就会有人会掉进去。

苏南大叔:如何利用n轻松切换nodejs的版本 - node-n
如何利用n轻松切换nodejs的版本(图12-1)

本文中,苏南大叔将要简述node切换工具n的使用。本文测试环境:mac,n@2.1.11

安装n

首先宣布一个不幸的消息,n不支持win系统。win系统的同学,可以放弃了。nvm也不支持win,但是nvm有个非官方版本的nvm-windows。那么本文中,99%的范例截图,都将是基于mac系统的。所以,很多同学都可以洗洗睡了。

苏南大叔:如何利用n轻松切换nodejs的版本 - n_不支持win
如何利用n轻松切换nodejs的版本(图12-2)

苏南大叔:如何利用n轻松切换nodejs的版本 - 000
如何利用n轻松切换nodejs的版本(图12-3)

npm install n -g

再次,说明一个震惊的消息。大多数n命令,都必须sudo

苏南大叔:如何利用n轻松切换nodejs的版本 - 001
如何利用n轻松切换nodejs的版本(图12-4)

安装各个版本的node

通过sudo版本的n,可以安装各种版本的node。注意:仅仅是安装,并非切换成对应的node。大家任选一条命令安装即可,注意是任选一条,根据你的需求,选择一条。

本小节的内容,苏南大叔需要先贴出node官网的截图。

苏南大叔:如何利用n轻松切换nodejs的版本 - node_version
如何利用n轻松切换nodejs的版本(图12-5)

截止到发稿时为止,node的LTS版本为:8.11.2,current版本为10.3.0

sudo n lts
sudo n stable

苏南大叔:如何利用n轻松切换nodejs的版本 - 002
如何利用n轻松切换nodejs的版本(图12-6)

sudo n latest

苏南大叔:如何利用n轻松切换nodejs的版本 - 004
如何利用n轻松切换nodejs的版本(图12-7)

sudo n 8.4.0

苏南大叔:如何利用n轻松切换nodejs的版本 - 005
如何利用n轻松切换nodejs的版本(图12-8)

切换node版本

这个切换的方式毕竟邪门,和nvm的切换方式完全不一样。正常情况下来说,需要执行下面的命令,然后用键盘上的上小箭头选择你喜欢的版本,然后回车确定即可完成切换。切换完成后可以使用node -v验证是否切换成功。

sudo n

苏南大叔:如何利用n轻松切换nodejs的版本 - 006
如何利用n轻松切换nodejs的版本(图12-9)

正常情况下,这样操作即可。如果发生了意外情况,请查看下面的问题,都是苏南大叔在实际使用过程中,所遇到的。

切换node版本时,键盘不能操作

sudo n之后,如果键盘上下箭头操作不能控制。那么请考虑一下,可能n程序出了bug。比如,苏南大叔这边,当前版本时8.4.0,但是n列出所有已经安装版本的时候,没有显示出8.4.0。这个就是问题所在了。所以,苏南大叔主动使用n安装了当前node版本8.4.0。然后就解决了这个问题。

node -v
sudo n 8.4.0
sudo n

切换node版本后,node版本号不变的问题

命令行代码如下:

node -v
sudo n
node -v

切换后,node的版本居然没有发生变化,这个就有些小尴尬了。解决方案如下:

export NODE_HOME=/usr/local
export PATH=$NODE_HOME/bin:$PATH
export NODE_PATH=$NODE_HOME/lib/node_modules:$PATH

然后就可以愉快的切换了,估计可能的原因时:node可能被nvm接管了。所以,n切换失败。

苏南大叔:如何利用n轻松切换nodejs的版本 - 008
如何利用n轻松切换nodejs的版本(图12-10)

苏南大叔:如何利用n轻松切换nodejs的版本 - 009
如何利用n轻松切换nodejs的版本(图12-11)

n删除一个node版本

命令如下:

sudo n rm <版本号>

苏南大叔:如何利用n轻松切换nodejs的版本 - 011
如何利用n轻松切换nodejs的版本(图12-12)

但是,需要注意的是:不能删除当前版本,会操作失败。

相关链接

小结

在程序猿的世界里面,确实有些歧视win用户的现象,所以win用户就忍忍吧。

更多node的相关经验文章,苏南大叔推荐您点击这里查看:https://newsn.net/tag/node/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。