详解如何使用nvm管理Node.js多版本
作者:snowell 发布时间:2024-05-09 14:49:21
Node.js版本管理工具。Git地址:https://github.com/nvm-sh/nvm
安装nvm
Mac OS:
如果已经安装了node,在安装nvm之前,不需要卸载这个版本的node。这个版本的node后续会成为nvm中的system版本的node。
具体步骤如下:
首先安装C++编译器,使用XCode 的命令行工具,在Terminal中输入: xcode-select --install
然后在Terminal里输入:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
或者:
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
⚠️注意:命令中的v0.34.0是随着最新版本变化的。可以去Git查看最新的版本。
重启Terminal(不然nvm不生效),然后输入下面的指令来查看是否安装成功: command -v nvm。如果返回 nvm 字样,就代表安装成功。
用nvm操作node
查看目前已有的node
如果在安装nvm之前,系统已经安装了Node.js,那么这个版本的Node.js将会成为system版本。
此时,在Terminal里输入:nvm ls,查看都安装了哪些node版本,会出现如下返回结果:
-> system
iojs -> N/A (default)
node -> stable (-> N/A) (default)
unstable -> N/A (default)
上面返回的内容,代表,此时只有系统原来带的node版本,没有通过nvm安装任何的node版本。
安装其它版本的node
安装最新版本的node:
nvm install node
安装特定版本的node:
nvm install 10.15.3
其中,10.15.3为想要安装的node的版本号。
可以查看目前有哪些node可以安装:
nvm ls-remote
安装一个node的新版本以后,通过指令 nvm ls 查看会返回如下结果:
-> v10.15.3
system
default -> 10.15.3 (-> v10.15.3)
node -> stable (-> v10.15.3) (default)
stable -> 10.15 (-> v10.15.3) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> v10.15.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0 (-> N/A)
lts/dubnium -> v10.15.3
可以发现,除了system以外,还出现了一个v10.15.3,而且自动应用了这个v10.15.3版本。
node版本切换
使用如下指令切换node版本:
nvm use system
返回如下内容,代表已经切换到system版本:
Now using system version of node: v8.11.3 (npm v6.9.0)
输入如下指令,切换到刚刚安装的版本:
nvm use 10.15.3
返回如下内容,代表已经切换到10.15.3版本:
Now using node v10.15.3 (npm v6.4.1)
对于目前的10.15.3,应为它是第一个通过nvm安装的node版本,所以自动给它分配了一个alias:default。所以,也可以通过这个指令切换到这个版本上:
nvm use default
也可以通过这个指令切换到已安装的最新的版本:
nvm use node
由于目前最新的版本就是default的10.15.3,所以就等同于nvm use default。
再安装一个版本:8.16.0。输入指令nvm install 8.16.0,返回如下内容:
-> v8.16.0
v10.15.3
system
default -> 10.15.3 (-> v10.15.3)
node -> stable (-> v10.15.3) (default)
stable -> 10.15 (-> v10.15.3) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> v10.15.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0
lts/dubnium -> v10.15.3
发现比之前多了一行-> v8.16.0,并且8.16.0被应用。
给特定版本分配alias
从8.16.0切换到别的版本以后,如果再想切换回来,只能通过nvm use 8.16.0。8.16.0不方便记忆,也不方便输入,可以通过给这个版本设置一个alias,来解决这个问题。输入如下指令:
nvm alias carbon 8.16.0
返回的结果:
carbon -> 8.16.0 (-> v8.16.0)
此时,再次输入nvm ls,会返回如下结果:
-> v8.16.0
v10.15.3
system
carbon -> 8.16.0 (-> v8.16.0)
default -> 10.15.3 (-> v10.15.3)
node -> stable (-> v10.15.3) (default)
stable -> 10.15 (-> v10.15.3) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/dubnium (-> v10.15.3)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.16.0
lts/dubnium -> v10.15.3
会发现多了一行carbon -> 8.16.0 (-> v8.16.0),这代表carbon就是版本8.16.0,所以如果想切换到8.16.0,可以输入如下指令:
nvm use carbon
也可以通过alias指令,改变default所代表的版本:
nvm alias default 8.16.0
8.16.0就成为default版本了。
输入nvm alias可以查看都有哪些已经设置好的alias。
还可以通过nvm unalias carbon来取消carbon这个alias。
卸载node
nvm uninstall alias/node
注意:不能卸载当前正在运行中的node版本。
可以通过nvm uninstall来查看有哪些版本可以卸载。
来源:https://segmentfault.com/a/1190000019076671


猜你喜欢
- 常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:301 redirect: 301代表
- 首先先安装好我们的Python 这里就不多介绍了1.打开python.exe:点击File 下的小扳手图标 Settings…2.打开设置界
- 本文实例讲述了js鼠标按键事件和键盘按键事件用法。分享给大家供大家参考,具体如下:keydown,keyup,keypress:属于你的键盘
- 官网: https://matplotlib.org一、版本# 01 matplotlib安装情况 import matplotlib ma
- 这几天在QQ群里知道了几个比较好的优化方面的站,感觉看高手的文章简直就是一种享受。和很多现在正在阅读这篇文章的站长一样,我即将毕业,但是还没
- Python代码集体右移的方法:直接选中需要右移的代码,按tab键即可。Python中代码集体左移的方法:直接选中需要左移的代码,按shif
- 前言:随机数模块实现了各种分布的伪随机数生成器。对于整数,从范围中有统一的选择。 对于序列,存在随机元素的统一选择、用于生成列表的随机排列的
- 本文实例讲述了Python实现可获取网易页面所有文本信息的网易网络爬虫功能。分享给大家供大家参考,具体如下:#coding=utf-8#--
- 一、构造dataframeimport pandas as pdimport numpy as npdf=pd.DataFrame(np.a
- 练手项目,先上图先实现一个简单的串口工具,为之后的上位机做准备代码如下:github 下载地址pyserial_demo.pyimport
- php实现记住密码自动登录方法不止一个,下面出现有二个emptyempty,其实是一个,那是因为代码高亮有bug。希望对大家有帮助。 一,用
- 以下内容是针对安装tensorflow-CPU版本的。tensorflow已经支持Python3.8版本的安装。可以查看自己的Python版
- osql简单用法:用来将本地脚本执行,适合sql脚本比较大点的情况,执行起来比较方便osql -S serverIP -U sa -P 12
- 一、文件基本的操作1、open() 打开文件open() 方法用于打开一个文件,并返回File文件对象,在对文件进行处理过程都需要使用到这个
- 先修改Master(10.1.123.197)的 my.cnf 配置在 [mysqld] 中新增以下内容:log-bin=mysql-bin
- 前言:脚本中包含以下几点常用功能:(1)实时获取当前时间(2)while循环提交(3)上传图片文件一、上述功能解释:(1)实时获取当前时间,
- 前言做网络爬虫的同学肯定见过各种各样的验证码,比较高级的有滑动、点选等样式,看起来好像挺复杂的,但实际上它们的核心原理还是还是很清晰的,本文
- 本文实例讲述了Python将名称映射到序列元素中的方法。分享给大家供大家参考,具体如下:问题:希望通过名称来访问元素,减少结构中对位置的依赖
- 什么是CookieCookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器
- Oracle中表的外键是保证系统参照完整性的手段,而参照完整性是指分布在两个表中的列所满足的具有主从性质的约束关系。外键涉及到两个表,其中一