在windows端或linux端用nvm管理node.js版本
转载地址: 在windows端或linux端用nvm管理node.js版本
1 linux端安装nvm
本文记录的是在linux系统上安装nvm。 os版本:Ubuntu 22.04 64 Bit
1.1.安装NVM
根据NVM官网,可以看到curl的安装命令如下:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
图1 安装nvm脚本
执行它之后,将nvm脚本安装到了我的服务器帐户。但此时的nvm不可使用(相当于未激活)。如果要使用它,
接下来还需要一步:获取.bashrc文件
source ~/.bashrc
图2 获取.bashrc文件
获取.bashrc文件之后,在通过查看nvm的版本号来检测nvm是否安装成功,如(图2)提示你nvm版本号为0.39.5,说明nvm安装成功。
1.2. 用NVM安装node
执行 nvm list-remote 询问 NVM 哪些版本的 Node 可用,这将列出所有node.js版本
图3 列出node.js所有版本
接下来安装自己想要的版本,从图3可以看到v18.18.0 是linux下的node.js最新版本,hydrogen是LTS的更新代号。
图4 安装指定的node.js版本
nvm install v18.18.0 //安装v18.18.0 版本
执行该命令后,node.js安装过程执行成功。 如 图4
图5 node.js安装成功
通过查看Node.js和npm的版本可以看到,此时 Node.js已经成功安装在我们的主机上,同时也自动安装了兼容版本的npm。如图5
1.3 用nvm卸载node.js
首先通过 nvm current 指令来查看是否为当前活动版本。
图6 查看当前活动版本
如果想直接删除活动版本, 是不能删除的。如果一定要删除活动版本,需要使用nvm deactivate 命令来解除已激活的nvm版本,从而卸载node.js。
'deactivate’命令的作用是解除当前已激活的nvm版本。当你通过nvm安装和激活了特定版本的Node.js后,想要返回到系统原生的Node.js,就可以运行’nvm deactivate’命令。
图7 解除已激活的node版本,再卸载node
1.4 nvm ls 命令
nvm ls 查看已安装的所有版本
执行nvm ls 后,它输出了已安装的所有版本的信息,让我们逐行解析这段输出:
‘-> v18.18.0’ 表示当前激活的Node.js版本,也就是你当前使用的版本。
‘default -> v18.18.0’ 表示默认的Node.js版本被设置为’v18.18.0’。
‘iojs -> N/A (default)’ 表示没有特定激活的iojs版本,但默认的版本是N/A。
‘unstable -> N/A (default)’ 表示没有特定激活的不稳定版本,但默认的版本是N/A。
‘node -> stable (-> v18.18.0) (default)’ 表示node版本被指向稳定的’v18.18.0’版本。
‘stable -> 18.18 (-> v18.18.0)’ 和’(default)’ 表示稳定版本的Node.js是’18.18’,并且它指向的是’v18.18.0’。同时它也是默认版本。
然后下面列出的是各种长期支持(LTS)版本的Node.js,包括它们的版本号和状态(是否有默认激活的版本)。
在你的列表的最后,你有一个’lts/hydrogen -> v18.18.0’,这表示你的nvm也将一个长期支持(LTS)版本标记为’hydrogen’,并且这个版本的Node.js是’v18.18.0’。这里的’hydrogen’并不是指代某个特定的版本,而是代表一组具有相同或类似特性的版本。在nvm中,LTS版本的每个周期都会有一个名字,例如’hydrogen’,‘argon’,'boron’等。在这个例子中,'hydrogen’可能是Node.js 18.x的某个LTS周期的代号。
1.5 nvm切换版本
如果某个版本用了一段时间,可能会有不稳定的情况发生,或者与当前的应用程序发生冲突,就需要切换版本。
nvm use <版本号> //切换到某个版本
在通过nvm ls-remote 查看版本后,比如我需要从当前版本切换到v20.9.0,则直接输入:
nvm use v20.9.0
1.6 设置为默认版本
然后将v20.9.0设置为默认版本,使用以下命令
nvm alias default v20.9.0
然后通过 nvm current 来确认/验证设置是否成功。
#nvm安装node.js
#nvm
参考链接:
1.《How To Install Node.js on Ubuntu 22.04》
2. https://github.com/nvm-sh/nvm#installing-and-updating
------------------------------------------------以下为更新文章---------------------------------------------------------
2 window10通过winget安装nvm
于2024.1.19日更新
安装环境:win10 powershell 以管理员方式运行
2.1 winget搜索nvm的版本,执行以下命令
winget search nvm
图2.1 winget搜素nvm
2.2 执行安装nvm的命令
搜索到nvm版本后,复制nvm的ID名称,执行以下命令安装它
winget install CoreyButler.NVMforWindows
图2.2 winget安装nvm
如图2.2,我们可以看到,它获取的是来自github的执行软件,因此你可能需要ke xue上网,才能保证软件安装包下载成功。如果遇到执行以上命令后,找不到安装包的情形,你可以执行一下命令:
winget add -source"https://win10.winget.cloud/"
该命令可以添加一个可用的源,其中包含CoreyButler.NVMforWindows包。再次执行
winget install CoreyButler.NVMforWindows
即可正常下载NVM的安装包。
2.3 正在下载安装包
图2.3 winget 下载nvm安装包
2.4 自动安装NVM执行软件
安装包下载完成后,它将自动弹出NVMforWindows执行软件的安装对话框,根据提示安装即可
图2.4 弹出NVMforWindows安装对话框
图2.5 NVMforWindows安装过程
等待安装完成即可。
2.5 检查NVMforWindows是否安装成功
在powershell执行以下命令:
nvm --version //检查版本及是否安装成功
然后,它有可能出现如下的报错的情况:
PS C:\fpro> nvm --version
nvm : 无法将“nvm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
请检查名称的拼写,如果包括路径,请确保路径正确,然后再试 一次。
所在位置 行:1 字符: 1
+ nvm --version + ~~~
+ CategoryInfo : ObjectNotFound: (nvm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
这是因为,NVMforWindows在windows10上安装后,还没有将它添加到系统变量中。
2.6 将NVMforWindows添加到win10系统变量中
win+x -系统-高级系统设置-环境变量
图2.6 打开win10 环境变量对话框
2.61 将NVM的安装路径添加到PATH中
将NVM添加到环境变量后,重启电脑。
2.7 再次检查NVM是否可以使用
再次在powershell输入以下命令:
nvm --version
图2.7 检查NVM的版本
这下,终于可以使用它了!!
2.8 NVMforWindows使用方法
2.81 nvm安装指定版本
nvm install <版本号> //安装指定的版本
案例:比如我想将node切换到18.0.0,则先安装这个版本
PS C:\Users\admin> nvm install 18.0.0
Downloading node.js version 18.0.0 (64-bit)...
Extracting node and npm...
Complete
npm v8.6.0 installed successfully.
Installation complete. If you want to use this version, type
nvm use 18.0.0
2.82 nvm使用指定版本
nvm use <版本号> //使用指定的版本
案例:
PS C:\Users\admin> nvm use 18.0.0
Now using node v18.0.0 (64-bit)