npm和yarn命令对比

一、命令对比

yarn npm 命令功能
yarn install npm install 根据 pack.json 安装项目所需的依赖包
yarn install –flat 注释 1
yarn install –no-lockfile npm install –no-package-lock 不读取或生成 yarn.lock 锁文件
yarn install –pure-lockfile 不要生成 yarn.lock 锁文件
yarn add [package] npm install [package] 安装需要的依赖包
yarn add [package] –dev npm install [package] –save-dev 注释 2
yarn add [package] –D npm install [package] –save-dev 同上
yarn add [package] –peer 注释 3
yarn add [package] –P 同上
yarn add [package] –optional npm install [package] –save-optional 注释 4
yarn add [package] –O npm install [package] –save-optional 同上
yarn add [package] –exact npm install [package] –save-exact 注释 5
yarn add [package] –E npm install [package] –save-exact 同上
yarn global add [package] npm install [package] –global 全局安装依赖包
yarn global upgrade npm update –global 全局更新依赖包
yarn add –force npm rebuild 更改包内容后进行重建
yarn remove [package] npm uninstall [package] 卸载已经安装的依赖包
yarn cache clean [package] npm cache clean 注释 6
yarn upgrade rm -rf node_modules && npm install 更新依赖包
yarn version –major npm version major 更新依赖包的版本
yarn version –minor npm version minor 更新依赖包的版本
yarn version –patch npm version patch 更新依赖包的版本

二、命令注释

  • 注释 1 :安装所有依赖项,但每个依赖项只允许一个版本。在第一次运行时,这将提示你为多版本的依赖包选择一个版本,进行安装。这些将添加到您 package.json 的 resolutions 字段下。
1
2
3
4
5
"resolutions": {
"package-a": "2.0.0",
"package-b": "5.0.0",
"package-c": "1.5.2"
}
  • 注释 2 :安装所需的依赖包,并将该包的记录写到 package.json 文件的 devDependencies 选项中。
1
2
3
4
5
6
7
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-loader": "^7.1.1",
"babel-plugin-syntax-jsx": "^6.18.0",
}
  • 注释 3 :安装所需的依赖包,并将该包的记录写到 package.json 文件的 peerDependencies 选项中。
  • 注释 4 :安装所需的依赖包,并将该包的记录写到 package.json 文件的 optionalDependencies 选项中。
  • 注释 5 :安装依赖包的确切版本,默认设置是使用依赖包的最新版本。例如, yarn add foo@1.2.3 将接受版本 1.9.1,但 yarn add foo@1.2.3 –exact 只接受版本 1.2.3。
  • 注释 6 :运行此命令将清除全局缓存依赖包。当再次 yarn 或 yarn install 运行,进行下载依赖包