npm、yarn、pnpm安装dependencies和devDependencies

790 阅读1分钟

dependencies和devDependencies的实际区别

1.正常理解

从一开始接触npm,dependencies和devDependencies的区别仅仅是字面上的理解,总是认为

  1. "dependencies":生产中所需的包。
  2. "devDependencies": 本地开发和测试的包。

2.实际作用

  1. 如果是正常公司项目,其实安装在dependencies和devDependencies没有区别。正常项目打包后,devDependencies生产也正常打包。
  2. 如果是发布npm包,安装使用时,devDependencies是不会进行安装。

例如: 自己发布包yinuo-random-str,依赖lodash和开发依赖nanoid。引入依赖使用,node_modules中只安装了lodash。 如果npm包使用了nanoid,就需要将包放入dependencies,而不是devDependencies,否则出现使用报错。

image.png

2.对比npm、yarn、pnpm安装

以koa为例子

image.png

npm install

image.png

yarn

image.png

pnpm install

image.png

都不会将项目的依赖中的开发依赖安装进去

peerDependencies安装规则

  • npm 会默认安装
  • yarn 不会安装
  • pnpm 会放在.pnpm下