跳转至

Node 安装命令速查手册

一句话总结:Node 生态里的"安装"分两层——先装 Node.js 本身(一次性),再用 npm / pnpm / yarn 装包(日常高频)。本手册重点讲后者,前者快速带过。


一、安装 Node.js 本身(一次性,快速带过)

方式 命令 / 操作 说明
官方安装包 去 https://nodejs.org 下载 .msi 最省事,装完自带 npm,缺点是不能多版本共存
nvm-windows 下载安装后: nvm install 22 / nvm use 22 推荐。可随时切换 Node 版本,前端开发标配
winget winget install OpenJS.NodeJS.LTS Windows 自带包管理器,命令一行搞定

本机情况:Node 24.15.0 / 22.22.2 已就绪,npm 全局 prefix 指向 D:\APP\Node\npm-global,npm 缓存指向 D:\APP\Node\node-cache,registry 已配腾讯镜像。Node 装好后再往下看,就是日常装包了。


二、npm 安装包(最通用,Node 自带)

基础用法

1
2
3
4
5
6
7
8
# 安装 package.json 里声明的全部依赖
npm install

# 安装某个包,并写入 dependencies(生产依赖)
npm install lodash

# 简写
npm i lodash

常用参数

参数 简写 作用 例子
--save-dev -D 装到开发依赖(devDependencies),仅开发期用 npm i -D vitest
--global -g 全局安装(命令工具类),装到全局 prefix npm i -g pnpm
--save-exact -E 锁定精确版本,不写 ^ 波浪号 npm i -E lodash@4.17.21
--registry 指定镜像源安装(临时) npm i --registry=https://registry.npmmirror.com
--no-save 只装不写入 package.json npm i --no-save puppeteer

版本号语法(装包时写在包名后面)

1
2
3
4
5
6
7
npm i lodash          # 最新稳定版(默认装 ^ 范围内的)
npm i lodash@4.17.21  # 精确版本
npm i lodash@^4       # 4.x 最新(兼容 4.0 以上)
npm i lodash@~4.17    # 4.17.x(只允许补丁版本更新)
npm i lodash@latest   # 明确要最新版
npm i lodash@next     # 预发布版(beta/rc)
npm i express@3       # 3.x 最新

^4.17.21 表示">=4.17.21 且 <5.0.0";~4.17.21 表示">=4.17.21 且 <4.18.0"。生产环境想完全锁死,用 -E 或写死精确版本。


三、pnpm 安装包(快、省磁盘,本机主力)

基础用法

# 安装全部依赖
pnpm install

# 添加依赖(等价于 npm i)
pnpm add lodash

# 添加开发依赖
pnpm add -D vitest

# 全局安装
pnpm add -g cowsay

与 npm 的关键差异

对比项 npm pnpm
磁盘占用 每个项目各存一份 全局 store 一份,项目里是硬链接,巨省空间
安装速度 较慢 ,依赖复用
依赖隔离 node_modules 平铺,可能幽灵依赖 严格隔离,装不到的包就真的没有
本机 store 位置 D:\APP\Node\pnpm\store(已配置)

pnpm 常用参数

1
2
3
4
5
6
7
pnpm add -D typescript    # 开发依赖
pnpm add -g tsx           # 全局
pnpm add -E lodash@4.17.21 # 精确版本
pnpm remove lodash        # 卸载
pnpm update               # 升级依赖
pnpm list                 # 查看已装依赖
pnpm store prune          # 清理 store 中未被引用的包(⚠️ 见下方坑)

⚠️ pnpm 11 特有坑(本机实测踩过)

  1. store-dir / global-bin-dir 不读 .npmrc,必须 pnpm config set <key> <path> --global 写入 pnpm 自己的配置。
  2. pnpm store prune 会把 pnpm 自身删掉! prune 只按 store 引用记录判断,pnpm 本体不在任何 projects 记录里,一 prune 命令直接失效。prune 前后必须验证 pnpm --version
  3. 更新 pnpm 用 pnpm self-update,不要用 pnpm add -g pnpm(11 起直接报错)。

四、yarn 安装包(老牌,现已边缘化)

1
2
3
4
yarn add lodash          # 添加依赖
yarn add -D vitest       # 开发依赖
yarn global add cowsay   # 全局
yarn remove lodash       # 卸载

新项目不建议再入坑 yarn classic(维护停滞),yarn berry(PnP 模式)又和生态有兼容摩擦。npm 或 pnpm 二选一即可。


五、npx:临时执行,不装进任何项目

npx 不是安装命令,是"临时拉取并执行"命令——你没装某个 CLI,又想用一次,用它最合适。

# 临时拉取并执行(跑完留在 npx 缓存里,下次同版本直接用)
npx @deepseek-ai/dsh web

# -y:跳过"是否安装?"的确认提示
npx -y @deepseek-ai/dsh web

# 指定版本执行
npx tsx@4.19.0 script.ts

# 执行项目本地已装的包(比直接敲命令更稳)
npx tsc --version

# 不下载缓存,强制用最新版
npx -y @deepseek-ai/dsh@latest web

npx 关键认知

要点 说明
缓存位置 npm cache 的 _npx\<hash>\ 子目录(本机:D:\APP\Node\node-cache\_npx)
缓存命中条件 包名 + 版本完全一致;想更新必须显式 @latest 或清缓存
和全局安装的区别 npx 用完即走,不污染全局;要反复用、要敲短命令,才值得 -g 全局装
例子 npx @deepseek-ai/dsh web = 没装 dsh 也能启动 web;插件照样装进 ~/.dsh/profiles/web/node_modules

六、镜像源配置(国内必看)

默认 npm 官方源在国内很慢,配镜像后所有命令自动提速:

1
2
3
4
5
6
7
8
# 腾讯镜像(本机已配置)
npm config set registry https://mirrors.tencent.com/npm/

# 或淘宝镜像
npm config set registry https://registry.npmmirror.com/

# 查看当前源
npm config get registry

配置写在 C:\Users\YWH18\.npmrc,对所有 npm 命令生效。注意:pnpm 的 store/global 路径不吃这套,得用 pnpm config set ... --global 单独配。


七、速查总表

想干什么 npm pnpm
装全部依赖 npm install pnpm install
装一个包 npm i lodash pnpm add lodash
装开发依赖 npm i -D vitest pnpm add -D vitest
全局装 npm i -g tsx pnpm add -g tsx
精确版本 npm i -E lodash@4.17.21 pnpm add -E lodash@4.17.21
卸载 npm uninstall lodash pnpm remove lodash
升级 npm update pnpm update
看装了啥 npm ls pnpm list
临时执行 npx tsx a.ts pnpm dlx tsx a.ts

八、真实场景例子

# 1. 新项目初始化 + 装依赖
npm init -y && npm install
pnpm init && pnpm install          # 用 pnpm 版

# 2. 装一个后端框架
npm i express
pnpm add express

# 3. 装前端脚手架(开发依赖)
npm i -D vite @vitejs/plugin-react
pnpm add -D vite @vitejs/plugin-react

# 4. 装一个命令行工具,全局用
npm i -g pnpm
pnpm add -g cowsay && cowsay "hello"

# 5. 临时用一次,不想装
npx -y degit user/repo my-project

# 6. 日常启动 DSH(本机已验证链路)
npx @deepseek-ai/dsh web
npx @deepseek-ai/dsh plugin --profile web add dsh-vision-router

九、最该记住的三条

  1. 日常装包用 pnpm(快、省空间),命令是 pnpm add,不是 npm i
  2. 想临时跑一次不安装,用 npx,别 npm i -g
  3. 全局装之前问自己一句:这个工具我会反复用、想在任意目录敲短命令吗?是 → -g;否 → 用 npx。