本文最后更新于:2024年5月7日 下午
NVM 是 NodeJS 开发环境的版本管理工具,可以方便的在同一台设备上进行多个node版本之间切换,本文记录相关信息。
简介
Node Version Manager(NVM) 是一种用于管理多个主动节点.js版本的工具。
Node.js平台,Node.js工具社区和Node.js库是快速移动的目标 - 在一个Node.js版本下可能有效的方法不能保证适用于另一个版本的Node.js。因此,用户需要一些方法在 Node 的多个版本之间切换。
NVM 允许用户:
- 使用简单的命令在本地下载任何远程长期支持 (LTS) 版本的 Node.js。
- 直接从命令行在 Node.js 的多个版本之间轻松切换。
- 设置别名以轻松在不同下载版本的 Node.js之间切换。
nvm 安装
Windows
下载链接:https://github.com/coreybutler/nvm-windows/releases
Linux 脚本安装
官方 github: https://github.com/nvm-sh/nvm
需要安装好 curl 和 git
1
2
sudo apt install git
sudo apt install curl
1 |
|
下载后安装在 $HOME/.nvm
文件夹中。
1 |
|
打印出版本信息说明安装成功。
Linux 手动安装
- 选择目录,下载项目:
1 |
|
- 进入项目目录,并切换最新版本:
1 |
|
- 激活nvm:
1 |
|
-
使用nvm ls命令测试;
修改配置文件加入环境变量,否则重启系统后不能自动识别nvm命令; -
使用
gedit
或vim
修改~/.bashrc
和~/.profile
,执行命令如下:
1 |
|
- 在配置文件的末尾加入以下配置(注意:NVM_DIR对应的是自己真实存放nvm的目录):
1 |
|
- 刷新配置文件,使配置生效:
1 |
|
- 如出现nvm命令不识别的问题,原因可能是配置文件修改错误或未刷新配置文件。
使用方法
来自帮助文档
命令 | 含义 | 备注 |
---|---|---|
nvm --help | 显示帮助信息 | |
–no-colors | 抑制彩色输出 | |
nvm --version | 版本信息 | |
nvm install [<version> ] |
下载并安装 <version> |
|
nvm install -s | 跳过二进制下载,仅从源代码安装 | |
nvm install -b | 跳过源下载,仅从二进制安装 | |
–reinstall-packages-from=<version> |
重新安装包 | |
–lts | 安装时,仅选择LTS(长期支持)版本 | |
–lts=<LTS name> |
安装时,仅从特定 LTS 系列的版本中选择 | |
–skip-default-packages | 安装时跳过default-packages文件(如果存在) | |
–latest-npm | 安装后,尝试升级到给定节点版本上的最新工作 npm | |
–no-progress | 禁用任何下载的进度条 | |
–alias=<name> |
安装后,将指定的别名设置为指定的版本。 (与:nvm 别名 <名称> <版本> 相同) | |
–default | 安装后,将默认别名设置为指定的版本。 (与:nvm 别名默认 <版本> 相同) | |
nvm uninstall <version> |
卸载一个版本 | |
nvm uninstall --lts | 使用自动 LTS(长期支持)别名“lts/*”卸载(如果可用) | |
nvm uninstall --lts=<LTS name> |
使用提供的 LTS 行的自动别名进行卸载(如果可用) | |
nvm use [<version> ] |
修改 PATH 以使用 <版本>。如果可用,则使用 .nvmrc,并且省略版本。 | |
–silent | 静默 | |
nvm exec [<version> ] [<command> ] |
在 <版本> 上运行 <命令>。如果可用,则使用 .nvmrc,并且省略版本。 | |
nvm run [<version> ] [<args> ] |
使用 <args> 作为参数在 <version> 上运行 node 。如果可用,则使用 .nvmrc,并且省略版本。 |
|
nvm current | 显示当前激活的 Node 版本 | |
nvm ls [<version> ] |
列出已安装的版本,匹配给定的 <version> (如果提供) |
nvm list |
nvm ls-remote [<version> ] |
列出可安装的远程版本,匹配给定的 <version> (如果提供) |
nvm list available (Windows 下) |
nvm version <version> |
将给定描述解析为单个本地版本 | |
nvm version-remote <version> |
将给定描述解析为单个远程版本 | |
nvm deactivate | 撤消 nvm 对当前 shell 的影响 |
|
nvm alias [<pattern> ] |
显示以 <pattern> 开头的所有别名 |
|
nvm alias <name> <version> |
设置名为 <name> 的别名,指向 <version> |
|
nvm unalias <name> |
删除名为 <name> 的别名 |
|
nvm install-latest-npm | 尝试升级到当前节点版本上最新的工作“npm” | |
nvm reinstall-packages <version> |
将 <version> 中包含的全局 npm 软件包重新安装到当前版本 |
|
nvm unload | 从 shell 中卸载 nvm |
|
nvm which [current | <version> ] |
显示已安装节点版本的路径。如果可用,则使用 .nvmrc,并且省略版本。 | |
nvm cache dir | 显示 nvm 缓存目录的路径 | |
nvm cache clear | nvm 的空缓存目录 | |
nvm set-colors [ |
使用格式“yMeBg”设置五种文本颜色。支持时可用。 Color codes: r/R = red / bold red g/G = green / bold green b/B = blue / bold blue c/C = cyan / bold cyan m/M = magenta / bold magenta y/Y = yellow / bold yellow k/K = black / bold black e/W = light grey / white |
示例:
1 |
|
安装 nodejs 环境
- 这里我安装 v18.20.2 版本的 node.js
1 |
|
- 查看当前安装版本
1 |
|
- 使用刚刚安装的 node.js
1 |
|
- 查看当前版本
1 |
|
- 配套的 npm 版本
1 |
|
更换npm源
1 |
|
npm-check 和 npm-upgrade
npm-check
和 npm-upgrade
是两个不同的 Node.js 包,它们用于不同 purposes 的 npm 包管理和升级。
-
npm-check
: 这个工具可以帮助你检查 npm 包的更新。当你运行npm-check
命令时,它会告诉你哪些包有更新,哪些包已经是最新版本。这是一个简单的命令行工具,可以快速查看是否有可用的更新,而不需要升级整个 npm 环境。使用方式:
1
2npm install -g npm-check
npm-check -
npm-upgrade
: 这个工具用于升级 npm 包到最新版本。与npm-check
不同,npm-upgrade
会实际升级你的项目中的包。这是一个全局安装的包,可以用来升级 npm 仓库中的包,也可以用来升级 npm 自身。使用方式:
1
2npm install -g npm-upgrade
npm-upgrade package-name其中
package-name
是你想要升级的 npm 包的名称。
- 请注意,
npm-check
和npm-upgrade
可能不是最常用的包来检查和升级 npm 包。通常,直接使用npm
命令的update
选项就足够了,它可以自动检查并升级你的项目中的所有依赖项。
1 |
|
- 如果你想要升级 npm 自身,可以使用以下命令:
1 |
|
- 或者,如果你使用的是
nvm
(Node Version Manager),你可以简单地切换到最新版本的 Node.js,这通常也会升级 npm:
1 |
|
卸载 nvm
Help 文档中有讲:
1 |
|
也就是删了 $HOME/.nvm
文件夹就行。
参考资料
- https://blog.csdn.net/qq_22182989/article/details/125387145
- https://blog.csdn.net/xhp312098226/article/details/131247719
- https://github.com/nvm-sh/nvm
文章链接:
https://www.zywvvd.com/notes/coding/node-js/nvm-usage/nvm-usage/
“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”
微信支付
支付宝支付