nvm, npm, node知识与常用命令
0. Motivation
最近经常在服务器装claude
经常接触nvm, npm, node
今天想着写一个博客记录一下我对这三个东西的理解
1. Overall
总的来说,我感觉nvm, npm, node 有点像 conda, pip, python的关系
node是在操作系统上运行 JavaScript 的解释器
npm是 Node Package Manager,生态的包管理器(npm install)
而nvm是 Node Version Manager,也就是版本管理器,解决的痛点是可能同时需要多个 Node 版本
是不是很像:
| Python 生态 | Node 生态 | 作用 |
|---|---|---|
python / python3 |
node |
运行时/解释器 |
conda(或 pyenv) |
nvm |
安装/切换不同版本的运行时 |
pip / conda install |
npm install |
安装第三方依赖 |
venv/conda env |
项目本地 node_modules |
项目依赖隔离 |
requirements.txt / environment.yml |
package.json |
声明依赖 |
pip freeze / lock |
package-lock.json |
锁定依赖树 |
不同点是npm是根据项目管理包,这点有点像uv
2. Command lines
nvm可以帮你管理node的版本
2.1 NVM
mac安装nvm(自带node)
如果没安装brew,可以先装一下:
1 | |
然后用brew安装nvm
1 | |
nvm查看和安装不同版本node
1 | |
切换和确认
1 | |
设置默认版本(新开终端自动用)
1 | |
项目级固定版本,在项目根目录创建 .nvmrc
1 | |
2.2 NPM
初始化项目
1 | |
安装/卸载依赖
1 | |
nvm, npm, node知识与常用命令
https://cyandyue.github.io/2025/12/23/Linux-nvm-use/