node版本管理nvm
node 版本管理 nvm
node 版本管理 nvm
nvm 与 n 的不同
nvm 是一个命令,来管理 node.js 版本,对于多个 node.js 版本,它是创建了多个目录来存放 node.js 的代码,实现了完全隔离,即沙箱这种方式。切换版本也是通过修改 node 路径所对应的文件夹目录。
n 呢,是一个 npm 全局包命令,切换版本是将安装的 node 版本复制到 /usr/local/bin 目录下。多版本之间没有很强的隔离。甚至会出现全局包错误问题。
因此,我更推荐使用 nvm 来做 node.js 的版本管理器。
nvm 安装
之前令人难以选择的是,Windows 用户无法使用 nvm,对于版本管理,只好选择 n 了,但现在而言,nvm 也是有 Windows 版本的。传送门
这里简单复制部分,链接:官方文档安装方式
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
需要注意的是在执行完安装脚本后,也要检查确认终端文件中是否有这一段代码。(~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc),这个看你的终端使用的是什么了,比如我的是 zsh,那么文件就是 .zshrc 了。
export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
这段代码的意思是:
- 声明 nvm 的目录所在路径,
- 加载 nvm,
- 加载 nvm bash_completion。
这样,在终端内就可以使用 nvm 命令了
nvm 使用
常用的几个 nvm 命令
- nvm ls 查看本地安装的 node.js 版本列表
- nvm install *** 安装 *** 版本
- nvm use *** 在当前终端窗口使用某个版本
- nvm alias default *** 设置某个版本为默认(新开终端窗口 or 重新打开终端生效)
至于其他的命令,可以用 nvm help 查看。
nvm 需要注意的地方
由于切换版本是沙箱式,隔离 100%,故 npm 全局依赖在切换版本后,都需要重新安装一番了。这就是享受安全、互不影响的另一端了。事物都有双面性不是~
因此可以用 npm list -g –depth=0 快速查看全局安装了哪些依赖,嘿嘿,再安装一遍呗。
补充,nrm
再补充一个小工具:一个管理 npm 源的 nrm。
咋一看两者还挺像的,nvm 是 node.js 的版本管理,nrm 是 npm 源的管理。谁让前端是个大杂烩呢。
(nvm: node version manager, nrm: npm registry manager)
什么时候会用到 nrm,如:国内 npm 源访问太慢,公司内部有自己的 npm 仓库,这时候切换源,用 nrm 就很方便。
安装与使用
npm i nrm -g nrm ls nrm use ${name}