如何使用npm或yarn命令查看peer、dev等特定类型的依赖
解决方案
npm 可用命令
- 检查指定包
x是否存在于dev依赖(实际安装的):
npm ls x --dev
如果要用于脚本自动判断,可加静默参数,通过退出码判断是否存在(退出码为0代表存在,非0代表不存在):
npm ls x --dev --silent echo $? # 输出0则存在,1则不存在
- 检查指定包
x是否存在于peer依赖(实际安装的):
npm ls x --peer
同样支持静默参数用于脚本判断:
npm ls x --peer --silent
- 如果你仅需要判断
package.json中是否声明了对应依赖(不需要验证是否已安装),可以直接用jq解析package.json,速度更快:
# 检查是否声明了dev依赖x jq '.devDependencies | has("x")' package.json # 检查是否声明了peer依赖x jq '.peerDependencies | has("x")' package.json
输出true即为存在,false即为不存在。
yarn 可用命令
Yarn v1 版本
- 检查dev依赖:
yarn list --dev --pattern x
- 检查peer依赖:
yarn list --peer --pattern x
Yarn Berry(v2及以上版本)
- 检查指定包是否在dev依赖中:
yarn list --dev x
- 检查指定包是否在peer依赖中:
yarn list --peer x
仅需检查package.json的声明时,上述jq命令同样适用,兼容所有包管理工具版本。
内容的提问来源于stack exchange,提问作者Louay Al-osh
相关产品推荐
相关产品推荐

