Skip to content

Node 包管理器

npm(Node Package Manager)

npm 是 Node.js 的默认包管理器,也是最常用的包管理器之一。

安装

npm 会随着 Node.js 一起安装,所以你只需要安装 Node.js 即可。

使用

初始化项目

bash
npm init
npm init

安装包

bash
npm install <package-name>

或者

npm i <package-name>
npm install <package-name>

或者

npm i <package-name>
bash
npm install <package-name> -g

或者

npm i <package-name> -g
npm install <package-name> -g

或者

npm i <package-name> -g
bash
npm install <package-name>@<version>

或者

npm i <package-name>@<version>
npm install <package-name>@<version>

或者

npm i <package-name>@<version>
bash
# devDependencies
npm install <package-name> --save-dev

或者

npm i <package-name> -D
# devDependencies
npm install <package-name> --save-dev

或者

npm i <package-name> -D
bash
# dependencies
npm install <package-name> --save

或者

npm i <package-name> -S
# dependencies
npm install <package-name> --save

或者

npm i <package-name> -S

卸载包

bash
npm uninstall <package-name>

或者

npm un <package-name>
npm uninstall <package-name>

或者

npm un <package-name>
bash
npm uninstall <package-name> -g

或者

npm un <package-name> -g
npm uninstall <package-name> -g

或者

npm un <package-name> -g

更新包

bash
npm update <package-name>

或者

npm up <package-name>
npm update <package-name>

或者

npm up <package-name>
bash
npm update <package-name> -g

或者

npm up <package-name> -g
npm update <package-name> -g

或者

npm up <package-name> -g

查看包

bash
npm list <package-name>

或者

npm ls <package-name>
npm list <package-name>

或者

npm ls <package-name>
bash
npm list <package-name> -g

或者

npm ls <package-name> -g
npm list <package-name> -g

或者

npm ls <package-name> -g
bash
npm view <package-name> versions
npm view <package-name> versions
bash
npm config list
npm config list

清除缓存

bash
npm cache clean --force
npm cache clean --force

镜像

bash
npm config set registry https://registry.npmmirror.com
npm config set registry https://registry.npmmirror.com
bash
npm config get registry
npm config get registry
bash
npm config set registry https://registry.npmjs.org
npm config set registry https://registry.npmjs.org

yarn

yarn 是 Facebook 发布的新一代包管理器,相比 npm 有着更快的速度和更好的用户体验。

安装

bash
npm install -g yarn
npm install -g yarn

使用

初始化项目

bash
yarn init
yarn init

安装包

bash
yarn add <package-name>
yarn add <package-name>
bash
yarn global add <package-name>
yarn global add <package-name>
bash
yarn add <package-name>@<version>
yarn add <package-name>@<version>
bash
yarn add <package-name> --dev



yarn add <package-name> -D
yarn add <package-name> --dev



yarn add <package-name> -D
bash
yarn add <package-name> --save



yarn add <package-name> -S
yarn add <package-name> --save



yarn add <package-name> -S

卸载包

bash
yarn remove <package-name>
yarn remove <package-name>
bash
yarn global remove <package-name>
yarn global remove <package-name>

更新包

bash
yarn upgrade <package-name>
yarn upgrade <package-name>
bash
yarn global upgrade <package-name>
yarn global upgrade <package-name>

查看包

bash
yarn list <package-name>
yarn list <package-name>
bash
yarn global list <package-name>
yarn global list <package-name>
bash
yarn info <package-name> versions
yarn info <package-name> versions
bash
yarn config list
yarn config list

清除缓存

bash
yarn cache clean --force
yarn cache clean --force

镜像

bash
yarn config set registry https://registry.npmmirror.com
yarn config set registry https://registry.npmmirror.com
bash
yarn config get registry
yarn config get registry
bash
yarn config set registry https://registry.yarnpkg.com
yarn config set registry https://registry.yarnpkg.com

pnpm

pnpm 是另一个包管理器,它旨在解决 npm 和 Yarn 在安装依赖包时占用磁盘空间的问题。pnpm 使用硬链接来共享依赖包,从而减少了磁盘空间的占用。

安装

bash
npm install -g pnpm
npm install -g pnpm

使用

初始化项目

bash
pnpm init
pnpm init

安装包

bash
pnpm install <package-name>



pnpm i <package-name>



pnpm add <package-name>
pnpm install <package-name>



pnpm i <package-name>



pnpm add <package-name>
bash
pnpm install <package-name> -g



pnpm i <package-name> -g



pnpm add <package-name> -g
pnpm install <package-name> -g



pnpm i <package-name> -g



pnpm add <package-name> -g
bash
pnpm install <package-name>@<version>



pnpm i <package-name>@<version>



pnpm add <package-name>@<version>
pnpm install <package-name>@<version>



pnpm i <package-name>@<version>



pnpm add <package-name>@<version>
bash
pnpm install <package-name> --save-dev



pnpm install <package-name> -D
pnpm install <package-name> --save-dev



pnpm install <package-name> -D
bash
pnpm install <package-name> --save



pnpm install <package-name> -S
pnpm install <package-name> --save



pnpm install <package-name> -S

卸载包

bash
pnpm uninstall <package-name>



pnpm remove <package-name>



pnpm rm <package-name>
pnpm uninstall <package-name>



pnpm remove <package-name>



pnpm rm <package-name>
bash
pnpm uninstall <package-name> -g



pnpm remove <package-name> -g



pnpm rm <package-name> -g



pnpm un <package-name> -g
pnpm uninstall <package-name> -g



pnpm remove <package-name> -g



pnpm rm <package-name> -g



pnpm un <package-name> -g

更新包

bash
pnpm update <package-name>



pnpm up <package-name>



pnpm upgrade <package-name>
pnpm update <package-name>



pnpm up <package-name>



pnpm upgrade <package-name>
bash
pnpm update <package-name> -g



pnpm up <package-name> -g



pnpm upgrade <package-name> -g
pnpm update <package-name> -g



pnpm up <package-name> -g



pnpm upgrade <package-name> -g

查看包

bash
pnpm list <package-name>
pnpm list <package-name>
bash
pnpm list <package-name> -g
pnpm list <package-name> -g
bash
pnpm view <package-name> versions
pnpm view <package-name> versions
bash
pnpm config list
pnpm config list

清除缓存

bash
pnpm store prune
pnpm store prune

镜像

bash
pnpm config set registry https://registry.npmmirror.com
pnpm config set registry https://registry.npmmirror.com
bash
pnpm config get registry
pnpm config get registry
bash
pnpm config set registry https://registry.npmjs.org
pnpm config set registry https://registry.npmjs.org

包管理器比较

功能pnpmYarnnpm
工作空间支持(monorepo)✔️✔️✔️
隔离的 node_modules✔️ - 默认✔️✔️
提升的 node_modules✔️✔️✔️ - 默认
自动安装 peers✔️✔️
Plug'n'Play✔️✔️ - 默认
零安装✔️
修补依赖项✔️✔️
管理 Node.js 版本✔️
有锁文件✔️ - pnpm-lock.yaml✔️ - yarn.lock✔️ - package-lock.json
支持覆盖✔️✔️ - 通过 resolutions✔️
内容可寻址存储✔️
动态包执行✔️ - 通过 pnpm dlx✔️ - 通过 yarn dlx✔️ - 通过 npx
Side-effects cache✔️
Listing licenses✔️ - 通过 pnpm licenses list✔️ - 通过插件