You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何判断依赖应放入dependencies、devDependencies还是peerDependencies

dependencies与peerDependencies的区分方法

只有当你开发需要对外发布的npm包时,才需要区分这两类依赖,普通业务项目通常只需要用到dependencies和devDependencies即可。

核心差异

  • dependencies:属于你的包内部自用的运行时依赖,用户安装你的包时,npm会自动将这些依赖安装到你包的私有node_modules目录下,和宿主项目的其他依赖互不干扰。
    举个例子:你开发的工具包内部用到了dayjs处理时间,不需要宿主项目也安装dayjs,那dayjs就应该放到dependencies里。
  • peerDependencies:属于你的包要求宿主环境必须预装的依赖,npm不会自动帮用户安装这类依赖,仅会在宿主环境的依赖版本不符合要求时抛出版本不兼容警告。
    举个常见场景:你开发了一个Vue3的组件库,你的组件必须运行在Vue3的环境下,而且需要和宿主项目用同一个Vue实例,那你就应该把vue放到peerDependencies里,声明要求宿主项目安装符合版本要求的Vue。

快速判断准则

当你不确定一个依赖放哪个分类时,可以问自己一个问题:用户用我的包的时候,是不是必须要自己主动安装这个依赖才能正常运行?

  • 回答是:放peerDependencies
  • 回答否:放dependencies

常用安装命令

  • 安装依赖到dependencies:npm install <包名> --save
  • 安装依赖到peerDependencies(npm 7及以上版本支持):npm install <包名> --save-peer

内容的提问来源于stack exchange,提问作者Wayne Mao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 09:24:03