node主流包管理工具npm、yarn、cnpm、pnpm 的使用

265 阅读3分钟

目前node的主流包管理工具有 npmyarncnpmpnpm等,本文主要是记录一下这些包管理工具的常用命令和参数

cnpm的用法和npm的用法一致,只是在执行命令的时候将npm改为cnpm

全局安装包管理工具

// 安装node自带npm,检查是否安装成功,执行如下命令 

npm -v 
// 6.14.15 显示版本号,表示npm安装成功

// yarn 安装
npm install -g yarn 

// cnpm 安装
npm install -g cnpm 

// pnpm 安装
npm install -g pnpm

`install` 简写 `i`

初始化项目

//初始化一个项目
 npm init  // cnpm init、pnpm init
 yarn init
 
// 快速生成的package.json默认配置
 npm init --yes
 yarn init --yes
 
 `--yes` 简写 `-y`

安装依赖

//默认下载`package.json`内记录的所有依赖到本地`node_modules`文件夹

npm install 
//别名: npm i 或 npm add

pnpm install
//别名: pnpm i

yarn install 
//别名: yarn

//强制重新安装依赖
npm install --force
yarn install --force

`--force` 简写 `-f`

install 命令总是安装模块的最新版本

//以安装sax模块为例:
//npm
npm install sax //安装到本地,但不写入`package.json`的
npm install sax -S //保存到`package.json`的 `dependencies` 配置项     
npm install sax -D //保存到`package.json`的 `devDependencies` 配置项  
npm install sax -O //保存到`package.json`的 `optionalDependencies` 配置项

//pnpm
pnpm add sax
...(同上)

//yarn
yarn add sax
...(同上)

`--save` 简写 `-S` (生产依赖)
`--save-dev` 简写 `-D` (开发依赖)
`--save-optional` 简写 `-O` (可选依赖)

如果要安装指定版本,需要在依赖名后面加 @ 和 版本号

//以安装sax模块为例

//指定版本`3.0.0`安装 
npm install sax@3.0.0
pnpm add sax@3.0.0
yarn add sax@3.0.0

//指定范围安装
npm install sax@">=0.1.0 <0.2.0"
pnpm add sax@">=0.1.0 <0.2.0"
yarn add sax@">=0.1.0 <0.2.0"

//安装特定标记版本 例如:`beta`,`next`或`latest`
npm install sax@latest
pnpm add sax@next
yarn add sax@beta

//全局安装
npm install -g sax
pnpm add -g sax
yarn global add sax 
//与 `npm` 中 `--global`的标志不同,`global`它是一个必须紧跟在命令`yarn`后面

查看依赖

//查看 项目/全局 安装过的依赖
npm list [-g] //默认显示根依赖
//list 别名: ls 、 la 、ll  (都是查询,展示方式不同)
pnpm ls [-g] --depth 0
yarn [global] list --depth=0 
//`--depth`  表示限制输出模块的层级,0即只显示根依赖

//查看 项目/全局 可以更新的依赖
npm outdated [-g] 
pnpm outdated [-g]
yarn [global] outdated

更新依赖

// 更新项目/全局过时的依赖
npm update [-g] 
//update 别名 up, upgrade

//pnpm
pnpm up  //更新所有依赖项,遵守中指定的范围`package.json` 
pnpm up --latest //更新所有依赖项,忽略指定的范围`package.json`  
pnpm up foo@2 //更新`foo`到 v2 上的最新版本             
pnpm up "@babel/*" //更新`@babel`作用域下的所有依赖

//yarn
yarn [global] upgrade //更新所有依赖项
yarn [global] upgrade sax@3.0.0
yarn [global] upgrade --ignore-engines //更新所有依赖项,忽略指定的范围 

卸载依赖

// 卸载项目/全局的sax依赖
npm uninstall [-g] sax 
//uninstall 别名: remove, rm, r, un, unlink
npm cache clean --force
//清理 npm 缓存 

pnpm uninstall [-g] sax // 卸载项目/全局的sax依赖
//uninstall 别名: remove, rm, un

yarn [global] remove sax

参考文档:

  1. npm官网文档
  2. pnpm中文网文档
  3. Yarn 官方参考文档-w3cschool